Panda3D
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions
VertexTransform Class Reference

This is an abstract base class that holds a pointer to some transform, computed in some arbitrary way, that is to be applied to vertices during rendering. More...

Inheritance diagram for VertexTransform:
TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject JointVertexTransform NodeVertexTransform UserVertexTransform

List of all members.

Public Member Functions

 accumulateMatrix (Mat4 accum, float weight)
 Adds the value of this transform's matrix, modified by the indicated weight, into the indicated accumulation matrix.
 getMatrix (Mat4 matrix)
UpdateSeq getModified (Thread current_thread)
 Returns a sequence number that's guaranteed to change at least every time the value reported by get_matrix() changes.
 multMatrix (Mat4 result, Mat4 const previous)
 Premultiplies this transform's matrix with the indicated previous matrix, so that the result is the net composition of the given transform with this transform.
 output (ostream out)
 write (ostream out, int indent_level)

Static Public Member Functions

static TypeHandle getClassType ()
static UpdateSeq getGlobalModified (Thread current_thread)
 Returns the currently highest VertexTransform::get_modified() value in the world.
static UpdateSeq getNextModified (Thread current_thread)
 Returns a monotonically increasing sequence.

Detailed Description

This is an abstract base class that holds a pointer to some transform, computed in some arbitrary way, that is to be applied to vertices during rendering.

This is used to implement soft-skinned and animated vertices. Derived classes will define how the transform is actually computed.


Member Function Documentation

accumulateMatrix ( Mat4  accum,
float  weight 
)

Adds the value of this transform's matrix, modified by the indicated weight, into the indicated accumulation matrix.

This is used to compute the result of several blended transforms.

static TypeHandle getClassType ( ) [static]
static UpdateSeq getGlobalModified ( Thread  current_thread) [static]

Returns the currently highest VertexTransform::get_modified() value in the world.

This can be used as a quick way to determine if any VertexTransforms have changed value recently.

getMatrix ( Mat4  matrix)
UpdateSeq getModified ( Thread  current_thread)

Returns a sequence number that's guaranteed to change at least every time the value reported by get_matrix() changes.

static UpdateSeq getNextModified ( Thread  current_thread) [static]

Returns a monotonically increasing sequence.

Each time this is called, a new sequence number is returned, higher than the previous value.

This is used to ensure that all VertexTransform::get_modified() calls return an increasing number in the same space, so that TransformBlend::get_modified() is easy to determine. It is similar to Geom::get_modified(), but it is in a different space.

multMatrix ( Mat4  result,
Mat4 const  previous 
)

Premultiplies this transform's matrix with the indicated previous matrix, so that the result is the net composition of the given transform with this transform.

The result is stored in the parameter "result", which should not be the same matrix as previous.

output ( ostream  out)
write ( ostream  out,
int  indent_level 
)
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties