TransformBlendTable

from acron.core import TransformBlendTable
class TransformBlendTable

Bases:

Bases: CopyOnWriteObject

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.

Inheritance diagram

digraph inheritance87ff44da71 { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "CachedTypedWritableReferenceCount" [URL="acron.core.CachedTypedWritableReferenceCount.html#acron.core.CachedTypedWritableReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritableReferenceCount" -> "CachedTypedWritableReferenceCount" [arrowsize=0.75,style=""]; "CopyOnWriteObject" [URL="acron.core.CopyOnWriteObject.html#acron.core.CopyOnWriteObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CachedTypedWritableReferenceCount" -> "CopyOnWriteObject" [arrowsize=0.75,style=""]; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "ReferenceCount" [URL="acron.core.ReferenceCount.html#acron.core.ReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ReferenceCount" [arrowsize=0.75,style=""]; "TransformBlendTable" [URL="acron.core.TransformBlendTable.html#acron.core.TransformBlendTable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CopyOnWriteObject" -> "TransformBlendTable" [arrowsize=0.75,style=""]; "TypedObject" [URL="acron.core.TypedObject.html#acron.core.TypedObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "TypedObject" [arrowsize=0.75,style=""]; "TypedWritable" [URL="acron.core.TypedWritable.html#acron.core.TypedWritable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedObject" -> "TypedWritable" [arrowsize=0.75,style=""]; "TypedWritableReferenceCount" [URL="acron.core.TypedWritableReferenceCount.html#acron.core.TypedWritableReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritable" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; "ReferenceCount" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; }
__init__()
add_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.

assign()
property blends → Sequence[TransformBlend]
Getter

Returns the nth blend in the table.

Setter

Replaces the blend at the nth position with the indicated value.

get_blend()

Returns the nth blend in the table.

get_blends() → list
static get_class_type()
get_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().

get_modified()

Returns a counter which is guaranteed to increment at least when any TransformBlends within the table have changed.

get_num_blends()

Returns the total number of different blend combinations in the table.

get_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().

get_rows()

Returns the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.

property max_simultaneous_transforms → int

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().

property modified → UpdateSeq

Returns a counter which is guaranteed to increment at least when any TransformBlends within the table have changed.

modify_rows()

Returns a modifiable reference to the SparseArray that specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.

property num_transforms → int

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().

remove_blend()

Removes the blend at the nth position.

property rows → SparseArray

Returns/Specifies the subset of rows (vertices) in the associated GeomVertexData/GeomVertexData that */that this TransformBlendTable actually affects.

set_blend()

Replaces the blend at the nth position with the indicated value.

set_rows()

Specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.

write()