HDK
|
Context to keep track of weighted sums. More...
#include <GA_WeightedSum.h>
Public Member Functions | |
GA_WeightedSum () | |
~GA_WeightedSum () | |
void | rewind () |
Rewind will reset the values of the sum (i.e. the count and weights) More... | |
void | advance (fpreal weight) |
void | finish () |
int | getPartialIndex () const |
int | getIterationCount () const |
fpreal | getCurrentWeight () const |
Get the current weight to sum. More... | |
fpreal | getTotalWeight () const |
Get the sum of the weights for all iterations (for normalization) More... | |
bool | getIsMaxWeight () const |
A convenince method for conditional copying of the maximum weight. More... | |
Context to keep track of weighted sums.
Weighted sums are used in metaball blending, TP surfaces and various other places. The weighted sum class is used to keep track of progress through the weighted sum. The class keeps track of the current, maximum and total of the weights. This allows discrete attributes to perform conditional copying (on the maximum value), or for normalization at the end of the sum.
Definition at line 36 of file GA_WeightedSum.h.
|
inline |
The weighted sum is used to keep track of partial sums.
The homogeneous
flag will change weighted sums of homogeneous attributes (GA_TYPE_HPOINT) so that they will be homogenized before summing and de-homogenized at the conclusion of the sum. This only affects homogeneous attributes.
Definition at line 45 of file GA_WeightedSum.h.
|
inline |
Definition at line 46 of file GA_WeightedSum.h.
Advance is called when starting a new iteration. The weight passed in is the weight associated with this iteration.
Definition at line 53 of file GA_WeightedSum.h.
void GA_WeightedSum::finish | ( | ) |
Finish is called after the last partial sum has been called. This lets the max-weight get set correctly.
|
inline |
Get the current weight to sum.
Definition at line 75 of file GA_WeightedSum.h.
|
inline |
A convenince method for conditional copying of the maximum weight.
Definition at line 81 of file GA_WeightedSum.h.
|
inline |
Like the partial index, but returns the "count". That is, on finishSum(), this method will return the count of the iterations.
Definition at line 72 of file GA_WeightedSum.h.
|
inline |
The partial index runs from 0...N On the call to initSum(), the value will be -1, on the call to finishSum(), the value will be N-1.
Definition at line 68 of file GA_WeightedSum.h.
|
inline |
Get the sum of the weights for all iterations (for normalization)
Definition at line 78 of file GA_WeightedSum.h.
void GA_WeightedSum::rewind | ( | ) |
Rewind will reset the values of the sum (i.e. the count and weights)