# GeomVertexAnimationSpec¶

from panda3d.core import GeomVertexAnimationSpec

class GeomVertexAnimationSpec

Bases: GeomEnums

This object describes how the vertex animation, if any, represented in a GeomVertexData is encoded.

Vertex animation includes soft-skinned skeleton animation and morphs (blend shapes), and might be performed on the CPU by Panda, or passed down to the graphics backed to be performed on the hardware (depending on the hardware’s advertised capabilities).

Changing this setting doesn’t by itself change the way the animation is actually performed; this just specifies how the vertices are set up to be animated.

Inheritance diagram

__init__()
__init__(other: GeomVertexAnimationSpec)
property animation_type → AnimationType

Returns the type of animation represented by this spec.

assign(other: GeomVertexAnimationSpec)GeomVertexAnimationSpec
getAnimationType() → AnimationType

Returns the type of animation represented by this spec.

getIndexedTransforms()bool

This is only meaningful for animation_type AT_hardware. If true, it indicates that the format uses indexed animation tables. It is false if each vertex will reference the first _num_transforms table entries only.

getNumTransforms()int

This is only meaningful for animation_type AT_hardware. It specifies the maximum number of transforms that might be simultaneously applied to any one vertex by the data in this format.

property indexed_transformsbool

This is only meaningful for animation_type AT_hardware. If true, it indicates that the format uses indexed animation tables. It is false if each vertex will reference the first _num_transforms table entries only.

property num_transformsint

This is only meaningful for animation_type AT_hardware. It specifies the maximum number of transforms that might be simultaneously applied to any one vertex by the data in this format.

output(out: ostream)None
setHardware(num_transforms: int, indexed_transforms: bool)None

Specifies that vertex animation is to be performed by the graphics hardware (or at least by the graphics backend API, which is actually still free to animate the vertices on the CPU).

This is only legal if the graphics hardware can support the specified limits on number of transforms and/or indexed transforms. Also, no current graphics API’s support morphing.

setNone()None

Specifies that no vertex animation is represented by this spec.

setPanda()None

Specifies that vertex animation is to be performed by Panda. This is the most general setting and can handle any kind of vertex animation represented.