Panda3D
Public Member Functions | Static Public Member Functions | List of all members
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

Public Member Functions

 __init__ (str name)
 Normally, there is no need to create a CharacterJointBundle directly. More...
 
Character getNode (int n)
 Returns the nth Character associated with this PartBundle. More...
 
- Public Member Functions inherited from PartBundle
 __init__ (str name)
 Normally, a PartBundle constructor should not be called directly–it will get created when a PartBundleNode is created. More...
 
PartBundle applyTransform (const TransformState transform)
 Returns a PartBundle that is a duplicate of this one, but with the indicated transform applied. More...
 
AnimControl bindAnim (AnimBundle anim, int hierarchy_match_flags, const PartSubset subset)
 Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation. More...
 
 clearAnimPreload ()
 Removes any AnimPreloadTable associated with the PartBundle. More...
 
 clearControlEffects ()
 Sets the control effect of all AnimControls to zero (but does not "stop" the AnimControls). More...
 
bool controlJoint (str joint_name, PandaNode node)
 Specifies that the joint with the indicated name should be animated with the transform on the indicated node. More...
 
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. More...
 
bool freezeJoint (str joint_name, const LVecBase3 pos, const LVecBase3 hpr, const LVecBase3 scale)
 Specifies that the joint with the indicated name should be frozen with the specified transform. More...
 
bool freezeJoint (str joint_name, float value)
 Specifies that the joint with the indicated name should be frozen with the specified transform. More...
 
bool freezeJoint (str joint_name, const TransformState transform)
 Specifies that the joint with the indicated name should be frozen with the specified transform. More...
 
bool getAnimBlendFlag ()
 Returns whether the character allows multiple different animations to be bound simultaneously. More...
 
const AnimPreloadTable getAnimPreload ()
 Returns the AnimPreloadTable associated with the PartBundle. More...
 
PartBundle::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. More...
 
float getControlEffect (AnimControl control)
 Returns the amount by which the character is affected by the indicated AnimControl and its associated animation. More...
 
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. More...
 
PartBundleNode getNode (int n)
 Returns the nth PartBundleNode associated with this PartBundle. More...
 
list getNodes ()
 
int getNumNodes ()
 Returns the number of PartBundleNodes that contain a pointer to this PartBundle. More...
 
const LMatrix4 getRootXform ()
 Returns the transform matrix which is implicitly applied at the root of the animated hierarchy. More...
 
AnimControl loadBindAnim (Loader loader, const Filename filename, int hierarchy_match_flags, const PartSubset subset, bool allow_async)
 Binds an animation to the bundle. More...
 
 mergeAnimPreloads (const PartBundle other)
 Copies the contents of the other PartBundle's preload table into this one. More...
 
AnimPreloadTable modifyAnimPreload ()
 Returns a modifiable pointer to the AnimPreloadTable associated with the PartBundle, if any. More...
 
 output (Ostream out)
 Writes a one-line description of the bundle. More...
 
bool releaseJoint (str joint_name)
 Releases the named joint from the effects of a previous call to freeze_joint() or control_joint(). More...
 
 setAnimBlendFlag (bool anim_blend_flag)
 Defines the way the character responds to multiple calls to set_control_effect()). More...
 
 setAnimPreload (AnimPreloadTable table)
 Replaces the AnimPreloadTable associated with the PartBundle. More...
 
 setBlendType (PartBundle::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. More...
 
 setControlEffect (AnimControl control, float effect)
 Sets the amount by which the character is affected by the indicated AnimControl (and its associated animation). More...
 
 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. More...
 
 setRootXform (const LMatrix4 root_xform)
 Specifies the transform matrix which is implicitly applied at the root of the animated hierarchy. More...
 
bool update ()
 Updates all the parts in the bundle to reflect the data for the current frame (as set in each of the AnimControls). More...
 
 waitPending ()
 Blocks the current thread until all currently-pending AnimControls, with a nonzero control effect, have been loaded and are properly bound. More...
 
 xform (const LMatrix4 mat)
 Applies the indicated transform to the root of the animated hierarchy. More...
 
- Public Member Functions inherited from PartGroup
 __init__ (PartGroup parent, str name)
 Creates the PartGroup, and adds it to the indicated parent. More...
 
bool applyControl (PandaNode node)
 Specifies a node to influence this particular joint so that it will always hold the node's transform. More...
 
bool applyFreeze (const TransformState transform)
 Freezes this particular joint so that it will always hold the specified transform. More...
 
bool applyFreezeMatrix (const LVecBase3 pos, const LVecBase3 hpr, const LVecBase3 scale)
 Freezes this particular joint so that it will always hold the specified transform. More...
 
bool applyFreezeScalar (float value)
 Freezes this particular joint so that it will always hold the specified transform. More...
 
bool clearForcedChannel ()
 Undoes the effect of a previous call to apply_freeze() or apply_control(). More...
 
PartGroup copySubgraph ()
 Allocates and returns a new copy of this node and of all of its children. More...
 
PartGroup findChild (str name)
 Returns the first descendant found with the indicated name, or NULL if no such descendant exists. More...
 
PartGroup getChild (int n)
 Returns the nth child of the group. More...
 
PartGroup getChildNamed (str name)
 Returns the first child found with the indicated name, or NULL if no such child exists. More...
 
list getChildren ()
 
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. More...
 
int getNumChildren ()
 Returns the number of child nodes of the group. More...
 
bool isCharacterJoint ()
 Returns true if this part is a CharacterJoint, false otherwise. More...
 
PartGroup makeCopy ()
 Allocates and returns a new copy of the node. More...
 
 sortDescendants ()
 Sorts the children nodes at each level of the hierarchy into alphabetical order. More...
 
 write (Ostream out, int indent_level)
 Writes a brief description of the group and all of its descendants. More...
 
 writeWithValue (Ostream out, int indent_level)
 Writes a brief description of the group, showing its current value, and that of all of its descendants. More...
 
- Public Member Functions inherited from TypedWritable
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...
 
- Public Member Functions inherited from TypedObject
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...
 
- Public Member Functions inherited from ReferenceCount
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...
 
- Public Member Functions inherited from Namable
 __init__ (const Namable)
 
 __init__ (str initial_name)
 
 clearName ()
 Resets the Namable's name to empty. More...
 
str getName ()
 
bool hasName ()
 Returns true if the Namable has a nonempty name set, false if the name is empty. More...
 
 output (Ostream out)
 Outputs the Namable. More...
 
 setName (str name)
 

Static Public Member Functions

static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from PartBundle
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from PartGroup
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedWritableReferenceCount
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 Public Member Functions inherited from TypedWritable
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from Namable
static TypeHandle getClassType ()
 

Additional Inherited Members

- Public Types inherited from PartBundle
enum  BlendType { BT_linear = 0, BT_normalized_linear = 1, BT_componentwise = 2, BT_componentwise_quat = 3 }
 
- Public Types inherited from PartGroup
enum  HierarchyMatchFlags { HMF_ok_part_extra = 1, HMF_ok_anim_extra = 2, HMF_ok_wrong_root_name = 4 }
 
- Public Attributes inherited from PartBundle
bool anim_blend_flag
 Returns whether the character allows multiple different animations to be bound simultaneously. More...
 
PartBundle::BlendType blend_type
 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. More...
 
bool frame_blend_flag
 Returns whether the character interpolates (blends) between two sequential animation frames, or whether it holds the current frame until the next one is ready. More...
 
PartBundleNode nodes []
 
const LMatrix4 root_xform
 Returns the transform matrix which is implicitly applied at the root of the animated hierarchy. More...
 
- Public Attributes inherited from PartGroup
PartGroup children []
 
- Public Attributes inherited from TypedObject
TypeHandle type
 Returns the TypeHandle representing this object's type. More...
 
- Public Attributes inherited from ReferenceCount
int ref_count
 The current reference count. More...
 
- Public Attributes inherited from Namable
const String name
 

Detailed Description

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

Member Function Documentation

◆ __init__()

__init__ ( str  name)

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

The Character node will automatically create one for itself.

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getNode()

Character getNode ( int  n)

Returns the nth Character associated with this PartBundle.