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

Stores the total set of VertexTransforms that the vertices in a particular GeomVertexData object might depend on. More...

Inheritance diagram for TransformTable:
TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject

List of all members.

Public Member Functions

 TransformTable ()
 TransformTable (TransformTable const copy)
int addTransform (VertexTransform const transform)
 Adds a new transform to the table and returns the index number of the new transform.
UpdateSeq getModified (Thread current_thread)
 Returns a sequence number that's guaranteed to change at least when any VertexTransforms in the table change.
int getNumTransforms ()
 Returns the number of transforms in the table.
VertexTransform const getTransform (int n)
 Returns the nth transform in the table.
list getTransforms ()
bool isRegistered ()
 Returns true if this table has been registered.
TransformTable operator= (TransformTable const copy)
 removeTransform (int n)
 Removes the nth transform.
 setTransform (int n, VertexTransform const transform)
 Replaces the nth transform.
 write (ostream out)

Static Public Member Functions

static TypeHandle getClassType ()
static TransformTable const registerTable (TransformTable const table)
 Registers a TransformTable for use.

Detailed Description

Stores the total set of VertexTransforms that the vertices in a particular GeomVertexData object might depend on.

This structure is used for a GeomVertexData set up to compute its dynamic vertices on the graphics card. See TransformBlendTable for one set up to compute its dynamic vertices on the CPU.


Constructor & Destructor Documentation

TransformTable ( TransformTable const  copy)

Member Function Documentation

int addTransform ( VertexTransform const  transform)

Adds a new transform to the table and returns the index number of the new transform.

Only valid for unregistered tables.

This does not automatically uniquify the pointer; if the transform is already present in the table, it will be added twice.

static TypeHandle getClassType ( ) [static]

Reimplemented from TypedWritableReferenceCount.

UpdateSeq getModified ( Thread  current_thread)

Returns a sequence number that's guaranteed to change at least when any VertexTransforms in the table change.

(However, this is only true for a registered table. An unregistered table may or may not reflect an update here when a VertexTransform changes.)

Returns the number of transforms in the table.

Returns the nth transform in the table.

list getTransforms ( )
bool isRegistered ( )

Returns true if this table has been registered.

Once it has been registered, the set of transforms in a TransformTable may not be further modified; but it must be registered before it can be assigned to a Geom.

TransformTable operator= ( TransformTable const  copy)
static TransformTable const registerTable ( TransformTable const  table) [static]

Registers a TransformTable for use.

This is similar to GeomVertexFormat::register_format(). Once registered, a TransformTable may no longer be modified (although the individual VertexTransform objects may modify their reported transforms).

This must be called before a table may be used in a Geom. After this call, you should discard the original pointer you passed in (which may or may not now be invalid) and let its reference count decrement normally; you should use only the returned value from this point on.

Removes the nth transform.

Only valid for unregistered tables.

setTransform ( int  n,
VertexTransform const  transform 
)

Replaces the nth transform.

Only valid for unregistered tables.

write ( ostream  out)
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties