Stores the total set of VertexTransforms that the vertices in a particular GeomVertexData object might depend on. More...
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. |
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.
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.
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.)
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.
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.
removeTransform | ( | int | n | ) |
Removes the nth transform.
Only valid for unregistered tables.
setTransform | ( | int | n, |
VertexTransform const | transform | ||
) |
Replaces the nth transform.
Only valid for unregistered tables.