Panda3D
Public Types | Public Member Functions | Static Public Member Functions

CharacterJointBundle Class Reference

The collection of all the joints and sliders in the character. More...

Inheritance diagram for CharacterJointBundle:
PartBundle PartGroup TypedWritableReferenceCount Namable TypedWritable ReferenceCount TypedObject MemoryBase MemoryBase

List of all members.

Public Types

enum  BlendType { BTLinear = 0, BTNormalizedLinear = 1, BTComponentwise = 2, BTComponentwiseQuat = 3 }

Public Member Functions

 CharacterJointBundle (string name)
 Normally, there is no need to create a CharacterJointBundle directly.
 CharacterJointBundle ()
 Normally, there is no need to create a CharacterJointBundle directly.
bool applyControl (PandaNode node)
 Specifies a node to influence this particular joint so that it will always hold the node's transform.
bool applyFreeze (TransformState const transform)
 Freezes this particular joint so that it will always hold the specified transform.
bool applyFreezeMatrix (VBase3 const pos, VBase3 const hpr, VBase3 const scale)
 Freezes this particular joint so that it will always hold the specified transform.
bool applyFreezeScalar (float value)
 Freezes this particular joint so that it will always hold the specified transform.
PartBundle applyTransform (TransformState const transform)
 Returns a PartBundle that is a duplicate of this one, but with the indicated transform applied.
AnimControl bindAnim (AnimBundle anim, int hierarchy_match_flags, PartSubset const subset)
 Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation.
AnimControl bindAnim (AnimBundle anim, int hierarchy_match_flags)
 Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation.
AnimControl bindAnim (AnimBundle anim)
 Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation.
 clearAnimPreload ()
 Removes any AnimPreloadTable associated with the PartBundle.
 clearControlEffects ()
 Sets the control effect of all AnimControls to zero (but does not "stop" the AnimControls).
bool clearForcedChannel ()
 Undoes the effect of a previous call to apply_freeze() or apply_control().
 clearName ()
 Resets the Namable's name to empty.
bool controlJoint (string joint_name, PandaNode node)
 Specifies that the joint with the indicated name should be animated with the transform on the indicated node.
PartGroup copySubgraph ()
 Allocates and returns a new copy of this node and of all of its children.
string encodeToBamStream ()
 Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a string string.
bool encodeToBamStream (basic_stringchar data, BamWriter writer)
 Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string.
bool encodeToBamStream (basic_stringchar data)
 Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string.
PartGroup findChild (string name)
 Returns the first descendant found with the indicated name, or NULL if no such descendant exists.
bool forceUpdate ()
 Updates all the parts in the bundle to reflect the data for the current frame, whether we believe it needs it or not.
bool freezeJoint (string joint_name, VBase3 const pos, VBase3 const hpr, VBase3 const scale)
 Specifies that the joint with the indicated name should be frozen with the specified transform.
bool freezeJoint (string joint_name, TransformState const transform)
 Specifies that the joint with the indicated name should be frozen with the specified transform.
bool freezeJoint (string joint_name, float value)
 Specifies that the joint with the indicated name should be frozen with the specified transform.
bool getAnimBlendFlag ()
 Returns whether the character allows multiple different animations to be bound simultaneously.
AnimPreloadTable const getAnimPreload ()
 Returns the AnimPreloadTable associated with the PartBundle.
UpdateSeq getBamModified ()
 Returns the current bam_modified counter.
BlendType getBlendType ()
 Returns the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.
PartGroup getChild (int n)
 Returns the nth child of the group.
PartGroup getChildNamed (string name)
 Returns the first child found with the indicated name, or NULL if no such child exists.
list getChildren ()
float getControlEffect (AnimControl control)
 Returns the amount by which the character is affected by the indicated AnimControl and its associated animation.
AnimChannelBase getForcedChannel ()
 Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.
bool getFrameBlendFlag ()
 Returns whether the character interpolates (blends) between two sequential animation frames, or whether it holds the current frame until the next one is ready.
string getName ()
Character getNode (int n)
 Returns the nth Character associated with this PartBundle.
list getNodes ()
int getNumChildren ()
 Returns the number of child nodes of the group.
int getNumNodes ()
 Returns the number of PartBundleNodes that contain a pointer to this PartBundle.
int getRefCount ()
 Returns the current reference count.
Mat4 const getRootXform ()
 Returns the transform matrix which is implicitly applied at the root of the animated hierarchy.
TypeHandle getType ()
int getTypeIndex ()
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.
bool hasName ()
 Returns true if the Namable has a nonempty name set, false if the name is empty.
bool isCharacterJoint ()
 Returns true if this part is a CharacterJoint, false otherwise.
bool isExactType (TypeHandle handle)
 Returns true if the current object is the indicated type exactly.
bool isOfType (TypeHandle handle)
 Returns true if the current object is or derives from the indicated type.
AnimControl loadBindAnim (PandaLoader loader, Filename const filename, int hierarchy_match_flags, PartSubset const subset, bool allow_async)
 Binds an animation to the bundle.
PartGroup makeCopy ()
 Allocates and returns a new copy of the node.
 markBamModified ()
 Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams.
 mergeAnimPreloads (PartBundle const other)
 Copies the contents of the other PartBundle's preload table into this one.
AnimPreloadTable modifyAnimPreload ()
 Returns a modifiable pointer to the AnimPreloadTable associated with the PartBundle, if any.
 output (ostream out)
 Writes a one-line description of the bundle.
PyObject reduce (PyObject self)
 This special Python method is implement to provide support for the pickle module.
PyObject reducePersist (PyObject self, PyObject pickler)
 This special Python method is implement to provide support for the pickle module.
 ref ()
 Explicitly increments the reference count.
bool releaseJoint (string joint_name)
 Releases the named joint from the effects of a previous call to freeze_joint() or control_joint().
 setAnimBlendFlag (bool anim_blend_flag)
 Defines the way the character responds to multiple calls to set_control_effect()).
 setAnimPreload (AnimPreloadTable table)
 Replaces the AnimPreloadTable associated with the PartBundle.
 setBlendType (BlendType bt)
 Defines the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.
 setControlEffect (AnimControl control, float effect)
 Sets the amount by which the character is affected by the indicated AnimControl (and its associated animation).
 setFrameBlendFlag (bool frame_blend_flag)
 Specifies whether the character interpolates (blends) between two sequential frames of an active animation, showing a smooth intra-frame motion, or whether it holds each frame until the next frame is ready, showing precisely the specified animation.
 setName (string name)
 setRootXform (Mat4 const root_xform)
 Specifies the transform matrix which is implicitly applied at the root of the animated hierarchy.
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus.
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
bool unref ()
 Explicitly decrements the reference count.
bool update ()
 Updates all the parts in the bundle to reflect the data for the current frame (as set in each of the AnimControls).
 waitPending ()
 Blocks the current thread until all currently-pending AnimControls, with a nonzero control effect, have been loaded and are properly bound.
 write (ostream out, int indent_level)
 Writes a brief description of the group and all of its descendants.
 writeWithValue (ostream out, int indent_level)
 Writes a brief description of the group, showing its current value, and that of all of its descendants.
 xform (Mat4 const mat)
 Applies the indicated transform to the root of the animated hierarchy.

Static Public Member Functions

static TypedWritableReferenceCount decodeFromBamStream (string data, BamReader reader)
 Reads the string created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on that string.
static TypedWritableReferenceCount decodeFromBamStream (string data)
 Reads the string created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on that string.
static TypeHandle getClassType ()

Detailed Description

The collection of all the joints and sliders in the character.


Member Enumeration Documentation

enum BlendType [inherited]
Enumerator:
BTLinear 
BTNormalizedLinear 
BTComponentwise 
BTComponentwiseQuat 

Constructor & Destructor Documentation

CharacterJointBundle ( string  name)

Normally, there is no need to create a CharacterJointBundle directly.

The Character node will automatically create one for itself.

Normally, there is no need to create a CharacterJointBundle directly.

The Character node will automatically create one for itself.


Member Function Documentation

bool applyControl ( PandaNode  node) [inherited]

Specifies a node to influence this particular joint so that it will always hold the node's transform.

Returns true if this is a joint that can be so controlled, false otherwise.

This is normally only called internally by PartBundle.control_joint(), but you may also call it directly.

bool applyFreeze ( TransformState const  transform) [inherited]

Freezes this particular joint so that it will always hold the specified transform.

Returns true if this is a joint that can be so frozen, false otherwise.

This is normally only called internally by PartBundle.freeze_joint(), but you may also call it directly.

bool applyFreezeMatrix ( VBase3 const  pos,
VBase3 const  hpr,
VBase3 const  scale 
) [inherited]

Freezes this particular joint so that it will always hold the specified transform.

Returns true if this is a joint that can be so frozen, false otherwise.

This is normally only called internally by PartBundle.freeze_joint(), but you may also call it directly.

bool applyFreezeScalar ( float  value) [inherited]

Freezes this particular joint so that it will always hold the specified transform.

Returns true if this is a joint that can be so frozen, false otherwise.

This is normally only called internally by PartBundle.freeze_joint(), but you may also call it directly.

PartBundle applyTransform ( TransformState const  transform) [inherited]

Returns a PartBundle that is a duplicate of this one, but with the indicated transform applied.

If this is called multiple times with the same TransformState pointer, it returns the same PartBundle each time.

AnimControl bindAnim ( AnimBundle  anim,
int  hierarchy_match_flags,
PartSubset const  subset 
) [inherited]

Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation.

If the anim hierarchy does not match the part hierarchy, returns NULL.

If hierarchy_match_flags is 0, only an exact match is accepted; otherwise, it may contain a union of PartGroup.HierarchyMatchFlags values indicating conditions that will be tolerated (but warnings will still be issued).

If subset is specified, it restricts the binding only to the named subtree of joints.

The AnimControl is not stored within the PartBundle; it is the user's responsibility to maintain the pointer. The animation will automatically unbind itself when the AnimControl destructs (i.e. its reference count goes to zero).

AnimControl bindAnim ( AnimBundle  anim,
int  hierarchy_match_flags 
) [inherited]

Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation.

If the anim hierarchy does not match the part hierarchy, returns NULL.

If hierarchy_match_flags is 0, only an exact match is accepted; otherwise, it may contain a union of PartGroup.HierarchyMatchFlags values indicating conditions that will be tolerated (but warnings will still be issued).

If subset is specified, it restricts the binding only to the named subtree of joints.

The AnimControl is not stored within the PartBundle; it is the user's responsibility to maintain the pointer. The animation will automatically unbind itself when the AnimControl destructs (i.e. its reference count goes to zero).

AnimControl bindAnim ( AnimBundle  anim) [inherited]

Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation.

If the anim hierarchy does not match the part hierarchy, returns NULL.

If hierarchy_match_flags is 0, only an exact match is accepted; otherwise, it may contain a union of PartGroup.HierarchyMatchFlags values indicating conditions that will be tolerated (but warnings will still be issued).

If subset is specified, it restricts the binding only to the named subtree of joints.

The AnimControl is not stored within the PartBundle; it is the user's responsibility to maintain the pointer. The animation will automatically unbind itself when the AnimControl destructs (i.e. its reference count goes to zero).

clearAnimPreload ( ) [inherited]

Removes any AnimPreloadTable associated with the PartBundle.

clearControlEffects ( ) [inherited]

Sets the control effect of all AnimControls to zero (but does not "stop" the AnimControls).

The character will no longer be affected by any animation, and will return to its default pose (unless restore-initial-pose is false).

The AnimControls which are no longer associated will not be using any CPU cycles, but they may still be in the "playing" state; if they are later reassociated with the PartBundle they will resume at their current frame as if they'd been running all along.

bool clearForcedChannel ( ) [inherited]

Undoes the effect of a previous call to apply_freeze() or apply_control().

Returns true if the joint was modified, false otherwise.

This is normally only called internally by PartBundle.release_joint(), but you may also call it directly.

clearName ( ) [inherited]

Resets the Namable's name to empty.

Reimplemented in AsyncTask.

bool controlJoint ( string  joint_name,
PandaNode  node 
) [inherited]

Specifies that the joint with the indicated name should be animated with the transform on the indicated node.

It will henceforth always follow the node's transform, regardless of any animations that may subsequently be bound to the joint.

Returns true if the joint is successfully controlled, or false if the named child is not a joint (or slider) or does not exist.

PartGroup copySubgraph ( ) [inherited]

Allocates and returns a new copy of this node and of all of its children.

static TypedWritableReferenceCount decodeFromBamStream ( string  data,
BamReader  reader 
) [static, inherited]

Reads the string created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on that string.

Returns NULL on error.

This method is intended to replace decode_raw_from_bam_stream() when you know the stream in question returns an object of type TypedWritableReferenceCount, allowing for easier reference count management. Note that the caller is still responsible for maintaining the reference count on the return value.

static TypedWritableReferenceCount decodeFromBamStream ( string  data) [static, inherited]

Reads the string created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on that string.

Returns NULL on error.

This method is intended to replace decode_raw_from_bam_stream() when you know the stream in question returns an object of type TypedWritableReferenceCount, allowing for easier reference count management. Note that the caller is still responsible for maintaining the reference count on the return value.

string encodeToBamStream ( ) [inherited]

Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a string string.

Returns empty string on failure.

This is a convenience method particularly useful for cases when you are only serializing a single object. If you have many objects to process, it is more efficient to use the same BamWriter to serialize all of them together.

bool encodeToBamStream ( basic_stringchar  data,
BamWriter  writer 
) [inherited]

Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string.

Returns true on success, false on failure.

This is a convenience method particularly useful for cases when you are only serializing a single object. If you have many objects to process, it is more efficient to use the same BamWriter to serialize all of them together.

bool encodeToBamStream ( basic_stringchar  data) [inherited]

Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string.

Returns true on success, false on failure.

This is a convenience method particularly useful for cases when you are only serializing a single object. If you have many objects to process, it is more efficient to use the same BamWriter to serialize all of them together.

PartGroup findChild ( string  name) [inherited]

Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

This method searches the entire graph beginning at this PartGroup; see also get_child_named().

bool forceUpdate ( ) [inherited]

Updates all the parts in the bundle to reflect the data for the current frame, whether we believe it needs it or not.

bool freezeJoint ( string  joint_name,
TransformState const  transform 
) [inherited]

Specifies that the joint with the indicated name should be frozen with the specified transform.

It will henceforth always hold this fixed transform, regardless of any animations that may subsequently be bound to the joint.

Returns true if the joint is successfully frozen, or false if the named child is not a joint (or slider) or does not exist.

bool freezeJoint ( string  joint_name,
VBase3 const  pos,
VBase3 const  hpr,
VBase3 const  scale 
) [inherited]

Specifies that the joint with the indicated name should be frozen with the specified transform.

It will henceforth always hold this fixed transform, regardless of any animations that may subsequently be bound to the joint.

Returns true if the joint is successfully frozen, or false if the named child is not a joint (or slider) or does not exist.

bool freezeJoint ( string  joint_name,
float  value 
) [inherited]

Specifies that the joint with the indicated name should be frozen with the specified transform.

It will henceforth always hold this fixed transform, regardless of any animations that may subsequently be bound to the joint.

Returns true if the joint is successfully frozen, or false if the named child is not a joint (or slider) or does not exist.

bool getAnimBlendFlag ( ) [inherited]

Returns whether the character allows multiple different animations to be bound simultaneously.

See set_anim_blend_flag().

AnimPreloadTable const getAnimPreload ( ) [inherited]

Returns the AnimPreloadTable associated with the PartBundle.

This table, if present, can be used for the benefit of load_bind_anim() to allow asynchronous binding.

UpdateSeq getBamModified ( ) [inherited]

Returns the current bam_modified counter.

This counter is normally incremented automatically whenever the object is modified.

BlendType getBlendType ( ) [inherited]

Returns the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.

PartGroup getChild ( int  n) [inherited]

Returns the nth child of the group.

PartGroup getChildNamed ( string  name) [inherited]

Returns the first child found with the indicated name, or NULL if no such child exists.

This method searches only the children of this particular PartGroup; it does not recursively search the entire graph. See also find_child().

list getChildren ( ) [inherited]
static TypeHandle getClassType ( ) [static]

Reimplemented from PartBundle.

float getControlEffect ( AnimControl  control) [inherited]

Returns the amount by which the character is affected by the indicated AnimControl and its associated animation.

See set_control_effect().

AnimChannelBase getForcedChannel ( ) [inherited]

Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

bool getFrameBlendFlag ( ) [inherited]

Returns whether the character interpolates (blends) between two sequential animation frames, or whether it holds the current frame until the next one is ready.

See set_frame_blend_flag().

string getName ( ) [inherited]

Reimplemented in DynamicTextFont.

Character getNode ( int  n)

Returns the nth Character associated with this PartBundle.

Reimplemented from PartBundle.

list getNodes ( ) [inherited]
int getNumChildren ( ) [inherited]

Returns the number of child nodes of the group.

int getNumNodes ( ) [inherited]

Returns the number of PartBundleNodes that contain a pointer to this PartBundle.

int getRefCount ( ) [inherited]

Returns the current reference count.

Mat4 const getRootXform ( ) [inherited]

Returns the transform matrix which is implicitly applied at the root of the animated hierarchy.

TypeHandle getType ( ) [inherited]

Reimplemented in AnimChannelBase.

int getTypeIndex ( ) [inherited]

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

bool hasName ( ) [inherited]

Returns true if the Namable has a nonempty name set, false if the name is empty.

bool isCharacterJoint ( ) [inherited]

Returns true if this part is a CharacterJoint, false otherwise.

This is a tiny optimization over is_of_type(CharacterType.get_class_type()).

bool isExactType ( TypeHandle  handle) [inherited]

Returns true if the current object is the indicated type exactly.

bool isOfType ( TypeHandle  handle) [inherited]

Returns true if the current object is or derives from the indicated type.

AnimControl loadBindAnim ( PandaLoader  loader,
Filename const  filename,
int  hierarchy_match_flags,
PartSubset const  subset,
bool  allow_async 
) [inherited]

Binds an animation to the bundle.

The animation is loaded from the disk via the indicated Loader object. In other respects, this behaves similarly to bind_anim(), with the addition of asynchronous support.

If allow_aysnc is true, the load will be asynchronous if possible. This requires that the animation basename can be found in the PartBundle's preload table (see get_anim_preload()).

In an asynchronous load, the animation file will be loaded and bound in a sub-thread. This means that the animation will not necessarily be available at the time this method returns. You may still use the returned AnimControl immediately, though, but no visible effect will occur until the animation eventually becomes available.

You can test AnimControl.is_pending() to see if the animation has been loaded yet, or wait for it to finish with AnimControl.wait_pending() or even PartBundle.wait_pending(). You can also set an event to be triggered when the animation finishes loading with AnimControl.set_pending_done_event().

PartGroup makeCopy ( ) [inherited]

Allocates and returns a new copy of the node.

Children are not copied, but see copy_subgraph().

markBamModified ( ) [inherited]

Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams.

This should normally not need to be called by user code; it should be called internally when the object has been changed in a way that legitimately requires its retransmission to any connected clients.

mergeAnimPreloads ( PartBundle const  other) [inherited]

Copies the contents of the other PartBundle's preload table into this one.

AnimPreloadTable modifyAnimPreload ( ) [inherited]

Returns a modifiable pointer to the AnimPreloadTable associated with the PartBundle, if any.

output ( ostream  out) [inherited]

Writes a one-line description of the bundle.

Reimplemented from Namable.

PyObject reduce ( PyObject  self) [inherited]

This special Python method is implement to provide support for the pickle module.

This hooks into the native pickle and cPickle modules, but it cannot properly handle self-referential BAM objects.

PyObject reducePersist ( PyObject  self,
PyObject  pickler 
) [inherited]

This special Python method is implement to provide support for the pickle module.

This is similar to __reduce__, but it provides additional support for the missing persistent-state object needed to properly support self-referential BAM objects written to the pickle stream. This hooks into the pickle and cPickle modules implemented in direct/src/stdpy.

ref ( ) [inherited]

Explicitly increments the reference count.

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

bool releaseJoint ( string  joint_name) [inherited]

Releases the named joint from the effects of a previous call to freeze_joint() or control_joint().

It will henceforth once again follow whatever transforms are dictated by the animation.

Returns true if the joint is released, or false if the named child was not previously controlled or frozen, or it does not exist.

setAnimBlendFlag ( bool  anim_blend_flag) [inherited]

Defines the way the character responds to multiple calls to set_control_effect()).

By default, this flag is set false, which disallows multiple animations. When this flag is false, it is not necessary to explicitly set the control_effect when starting an animation; starting the animation will implicitly remove the control_effect from the previous animation and set it on the current one.

However, if this flag is set true, the control_effect must be explicitly set via set_control_effect() whenever an animation is to affect the character.

setAnimPreload ( AnimPreloadTable  table) [inherited]

Replaces the AnimPreloadTable associated with the PartBundle.

setBlendType ( BlendType  bt) [inherited]

Defines the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.

See partBundle.h for a description of the meaning of each of the BlendType values.

setControlEffect ( AnimControl  control,
float  effect 
) [inherited]

Sets the amount by which the character is affected by the indicated AnimControl (and its associated animation).

Normally, this will only be zero or one. Zero indicates the animation does not affect the character, and one means it does.

If the _anim_blend_flag is not false (see set_anim_blend_flag()), it is possible to have multiple AnimControls in effect simultaneously. In this case, the effect is a weight that indicates the relative importance of each AnimControl to the final animation.

setFrameBlendFlag ( bool  frame_blend_flag) [inherited]

Specifies whether the character interpolates (blends) between two sequential frames of an active animation, showing a smooth intra-frame motion, or whether it holds each frame until the next frame is ready, showing precisely the specified animation.

When this value is false, the character holds each frame until the next is ready. When this is true, the character will interpolate between two consecutive frames of animation for each frame the animation is onscreen, according to the amount of time elapsed between the frames.

The default value of this flag is determined by the interpolate-frames Config.prc variable.

Use set_blend_type() to change the algorithm that the character uses to interpolate matrix positions.

setName ( string  name) [inherited]

Reimplemented in PGItem, and AsyncTask.

setRootXform ( Mat4 const  root_xform) [inherited]

Specifies the transform matrix which is implicitly applied at the root of the animated hierarchy.

bool testRefCountIntegrity ( ) [inherited]

Does some easy checks to make sure that the reference count isn't completely bogus.

Returns true if ok, false otherwise.

Reimplemented in NodeReferenceCount, CachedTypedWritableReferenceCount, and NodeCachedReferenceCount.

bool testRefCountNonzero ( ) [inherited]

Does some easy checks to make sure that the reference count isn't zero, or completely bogus.

Returns true if ok, false otherwise.

bool unref ( ) [inherited]

Explicitly decrements the reference count.

Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete().

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is true if the new reference count is nonzero, false if it is zero.

Reimplemented in GeomVertexArrayFormat, and GeomVertexFormat.

bool update ( ) [inherited]

Updates all the parts in the bundle to reflect the data for the current frame (as set in each of the AnimControls).

Returns true if any part has changed as a result of this, or false otherwise.

waitPending ( ) [inherited]

Blocks the current thread until all currently-pending AnimControls, with a nonzero control effect, have been loaded and are properly bound.

write ( ostream  out,
int  indent_level 
) [inherited]

Writes a brief description of the group and all of its descendants.

writeWithValue ( ostream  out,
int  indent_level 
) [inherited]

Writes a brief description of the group, showing its current value, and that of all of its descendants.

xform ( Mat4 const  mat) [inherited]

Applies the indicated transform to the root of the animated hierarchy.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties