Panda3D
|
This structure collects together the different combinations of transforms and blend amounts used by a GeomVertexData, to facilitate computing dynamic vertices on the CPU at runtime. More...
#include <pandadoc.hpp>
Public Member Functions | |
__init__ () | |
__init__ (const TransformBlendTable copy) | |
int | addBlend (const TransformBlend blend) |
Adds a new blend to the table, and returns its index number. More... | |
const TransformBlend | getBlend (int n) |
Returns the nth blend in the table. More... | |
list | getBlends () |
int | getMaxSimultaneousTransforms () |
Returns the maximum number of unique VertexTransform objects that are applied to any one vertex simultaneously. More... | |
UpdateSeq | getModified (Thread current_thread) |
Returns a counter which is guaranteed to increment at least when any TransformBlends within the table have changed. More... | |
int | getNumBlends () |
Returns the total number of different blend combinations in the table. More... | |
int | getNumTransforms () |
Returns the number of unique VertexTransform objects represented in the table. More... | |
const SparseArray | getRows () |
Returns the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects. More... | |
SparseArray | modifyRows () |
Returns a modifiable reference to the SparseArray that specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects. More... | |
TransformBlendTable | operator= (const TransformBlendTable copy) |
removeBlend (int n) | |
Removes the blend at the nth position. More... | |
setBlend (int n, const TransformBlend blend) | |
Replaces the blend at the nth position with the indicated value. More... | |
setRows (const SparseArray rows) | |
Specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects. More... | |
write (Ostream out, int indent_level) | |
![]() | |
cacheRef () | |
bool | cacheUnref () |
![]() | |
cacheRef () | |
Explicitly increments the cache reference count and the normal reference count simultaneously. More... | |
bool | cacheUnref () |
Explicitly decrements the cache reference count and the normal reference count simultaneously. More... | |
int | getCacheRefCount () |
Returns the current reference count. More... | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
![]() | |
object | __reduce__ () |
object | __reduce_persist__ (object pickler) |
VectorUchar | encodeToBamStream () |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More... | |
bool | encodeToBamStream (VectorUchar data, BamWriter writer) |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More... | |
fillin (DatagramIterator scan, BamReader manager) | |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. More... | |
UpdateSeq | getBamModified () |
Returns the current bam_modified counter. More... | |
markBamModified () | |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More... | |
![]() | |
TypeHandle | getType () |
int | getTypeIndex () |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. More... | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. More... | |
![]() | |
int | getRefCount () |
Returns the current reference count. More... | |
ref () | |
Explicitly increments the reference count. More... | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
bool | unref () |
Explicitly decrements the reference count. More... | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypedWritableReferenceCount | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. More... | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Public Attributes | |
const TransformBlend | blends [] |
Returns the nth blend in the table. More... | |
int | max_simultaneous_transforms |
Returns the maximum number of unique VertexTransform objects that are applied to any one vertex simultaneously. More... | |
UpdateSeq | modified |
Returns a counter which is guaranteed to increment at least when any TransformBlends within the table have changed. More... | |
int | num_transforms |
Returns the number of unique VertexTransform objects represented in the table. More... | |
const SparseArray | rows |
Returns the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects. More... | |
![]() | |
int | cache_ref_count |
Returns the current reference count. More... | |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. More... | |
![]() | |
int | ref_count |
The current reference count. More... | |
This structure collects together the different combinations of transforms and blend amounts used by a GeomVertexData, to facilitate computing dynamic vertices on the CPU at runtime.
Each vertex has a pointer to exactly one of the entries in this table, and each entry defines a number of transform/blend combinations.
This structure is used for a GeomVertexData set up to compute its dynamic vertices on the CPU. See TransformTable for one set up to compute its dynamic vertices on the graphics card.
__init__ | ( | ) |
__init__ | ( | const TransformBlendTable | copy | ) |
int addBlend | ( | const TransformBlend | blend | ) |
Adds a new blend to the table, and returns its index number.
If there is already an identical blend in the table, simply returns that number instead.
const TransformBlend getBlend | ( | int | n | ) |
Returns the nth blend in the table.
list getBlends | ( | ) |
|
static |
int getMaxSimultaneousTransforms | ( | ) |
Returns the maximum number of unique VertexTransform objects that are applied to any one vertex simultaneously.
This is the same limit reflected by GraphicsStateGuardian::get_max_vertex_transforms().
Returns a counter which is guaranteed to increment at least when any TransformBlends within the table have changed.
int getNumBlends | ( | ) |
Returns the total number of different blend combinations in the table.
int getNumTransforms | ( | ) |
Returns the number of unique VertexTransform objects represented in the table.
This will correspond to the size of the TransformTable object that would represent the same table. This is also the same limit reflected by GraphicsStateGuardian::get_max_vertex_transform_indices().
const SparseArray getRows | ( | ) |
Returns the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.
SparseArray modifyRows | ( | ) |
Returns a modifiable reference to the SparseArray that specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.
TransformBlendTable operator= | ( | const TransformBlendTable | copy | ) |
removeBlend | ( | int | n | ) |
Removes the blend at the nth position.
setBlend | ( | int | n, |
const TransformBlend | blend | ||
) |
Replaces the blend at the nth position with the indicated value.
setRows | ( | const SparseArray | rows | ) |
Specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.
write | ( | Ostream | out, |
int | indent_level | ||
) |
const TransformBlend blends[] |
Returns the nth blend in the table.
int max_simultaneous_transforms |
Returns the maximum number of unique VertexTransform objects that are applied to any one vertex simultaneously.
This is the same limit reflected by GraphicsStateGuardian::get_max_vertex_transforms().
UpdateSeq modified |
Returns a counter which is guaranteed to increment at least when any TransformBlends within the table have changed.
int num_transforms |
Returns the number of unique VertexTransform objects represented in the table.
This will correspond to the size of the TransformTable object that would represent the same table. This is also the same limit reflected by GraphicsStateGuardian::get_max_vertex_transform_indices().
const SparseArray rows |
Returns the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.