TransformBlend

Inheritance:

Methods of TransformBlend:

addTransform
void TransformBlend::add_transform(VertexTransform const *transform, float weight);

Description: Adds a new transform to the blend. If the transform already existed, increases its weight factor.

compareTo
int TransformBlend::compare_to(TransformBlend const &other) const;

Description: Defines an arbitrary ordering for TransformBlend objects.

getBlend
void TransformBlend::get_blend(LMatrix4f &result) const;

Description: Returns the current value of the blend, based on the current value of all of the nested transform objects and their associated weights.
You should call update_blend() to ensure that the cache is up-to-date before calling this.

getModified
UpdateSeq TransformBlend::get_modified(void) const;

Description: Returns a counter which is guaranteed to increment at least as often as the result of get_blend() changes.

getNumTransforms
int TransformBlend::get_num_transforms(void) const;

Description: Returns the number of transforms stored in the blend object.

getTransform
VertexTransform const *TransformBlend::get_transform(int n) const;

Description: Returns the nth transform stored in the blend object.

getWeight
float TransformBlend::get_weight(VertexTransform const *transform) const;

Description: Returns the weight associated with the nth transform stored in the blend object.
Description: Returns the weight associated with the indicated transform, or 0 if there is no entry for the transform.

hasTransform
bool TransformBlend::has_transform(VertexTransform const *transform) const;

Description: Returns true if the blend has the indicated transform, false otherwise.

normalizeWeights
void TransformBlend::normalize_weights(void);

Description: Rescales all of the weights on the various transforms so that they sum to 1.0. It is generally a good idea to call this after adding or removing transforms from the blend.

operator !=
bool TransformBlend::operator !=(TransformBlend const &other) const;

Description:

operator <
bool TransformBlend::operator <(TransformBlend const &other) const;

Description:

operator =
void TransformBlend::operator =(TransformBlend const &copy);

Description:

operator ==
bool TransformBlend::operator ==(TransformBlend const &other) const;

Description:

output
void TransformBlend::output(ostream &out) const;

Description:

removeTransform
void TransformBlend::remove_transform(VertexTransform const *transform);

Description: Removes the indicated transform to the blend.

setTransform
void TransformBlend::set_transform(int n, VertexTransform const *transform);

Description: Replaces the nth transform stored in the blend object.

setWeight
void TransformBlend::set_weight(int n, float weight);

Description: Replaces the weight associated with the nth transform stored in the blend object.

transformPoint
void TransformBlend::transform_point(LPoint4f &point) const;

Description: Transforms the indicated point by the blend matrix.
You should call update_blend() to ensure that the cache is up-to-date before calling this.

transformVector
void TransformBlend::transform_vector(LVector3f &point) const;

Description: Transforms the indicated vector by the blend matrix.
You should call update_blend() to ensure that the cache is up-to-date before calling this.

updateBlend
void TransformBlend::update_blend(void) const;

Description: Recomputes the internal representation of the blend value, if necessary. You should call this before calling get_blend() or transform_point().

write
void TransformBlend::write(ostream &out, int indent_level) const;

Description: