# CharacterJointBundle

from pandac.PandaModules import CharacterJointBundle

Class : CharacterJointBundle
Description : The collection of all the joints and sliders in the character.

## Inheritance:

CharacterJointBundle: PartBundle
PartBundle: PartGroup
PartGroup: TypedWritableReferenceCount Namable
TypedWritableReferenceCount: TypedWritable ReferenceCount
TypedWritable: TypedObject
TypedObject:
ReferenceCount:
Namable:

## Methods of CharacterJointBundle:

getClassType
getNode

## Methods of PartBundle:

bindAnim
clearControlEffects
getBlendType
getClassType
getControlEffect
getNode
output
setBlendType
setControlEffect

## Methods of PartGroup:

findChild
getChild
getClassType
getNumChildren
write
writeWithValue

## Methods of TypedWritableReferenceCount:

getClassType

## Methods of TypedWritable:

getClassType

## Methods of TypedObject:

getBestParentFromSet
getClassType
getType
getTypeIndex
isExactType
isOfType

## Methods of ReferenceCount:

getClassType
getRefCount
ref
testRefCountIntegrity
unref

## Methods of Namable:

clearName
getClassType
getName
hasName
operator =
output
setName

## Constants in PartBundle:

BTSingle | (BlendType)
BTLinear | (BlendType)
BTNormalizedLinear | (BlendType)
BTComponentwise | (BlendType)
BTComponentwiseQuat | (BlendType)

getClassType static TypeHandle CharacterJointBundle::get_class_type(void); Undocumented function.

getNode Character *CharacterJointBundle::get_node(void) const; Description: Returns the Character node associated with this PartBundle.

bindAnim PointerTo< AnimControl > PartBundle::bind_anim(AnimBundle *anim, int hierarchy_match_flags = (0), PartSubset const &subset = ((()))); Description: 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).

clearControlEffects void PartBundle::clear_control_effects(void); Description: 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 original Jesus pose. 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.

getBlendType PartBundle::BlendType PartBundle::get_blend_type(void) const; Filename: partBundle.I Created by: drose (22Feb99) PANDA 3D SOFTWARE Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved All use of this software is subject to the terms of the Panda 3d Software license. You should have received a copy of this license along with this source code; you will also find a current copy of the license at http://etc.cmu.edu/panda3d/docs/license/ . To contact the maintainers of this program write to panda3d-general@lists.sourceforge.net . Description: Returns the way the character responds to multiple animations being bound simultaneously.

getClassType static TypeHandle PartBundle::get_class_type(void); Undocumented function.

getControlEffect float PartBundle::get_control_effect(AnimControl *control) const; Description: Returns the amount by which the character is affected by the indicated AnimControl and its associated animation. See set_control_effect().

getNode PartBundleNode *PartBundle::get_node(void) const; Description: Returns the PartBundleNode associated with this PartBundle.

output virtual void PartBundle::output(ostream &out) const; Description: Writes a one-line description of the bundle.

setBlendType void PartBundle::set_blend_type(PartBundle::BlendType bt); Description: Defines the way the character responds to multiple set_control_effect()). By default, the blend_type is BT_single, which disallows multiple animations. In BT_single mode, 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 the blend_type is set to any other value, the control_effect must be explicitly set via set_control_effect() whenever an animation is to affect the character. See partBundle.h for a description of the meaning of each of the BlendType values.

setControlEffect void PartBundle::set_control_effect(AnimControl *control, float effect); Description: 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 blend_type is not BT_single (see set_blend_type()), 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.

findChild PartGroup *PartGroup::find_child(string const &name) const; Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild PartGroup *PartGroup::get_child(int n) const; Description: Returns the nth child of the group.

getClassType static TypeHandle PartGroup::get_class_type(void); Undocumented function.

getNumChildren int PartGroup::get_num_children(void) const; Description: Returns the number of child nodes of the group.

write virtual void PartGroup::write(ostream &out, int indent_level) const; Description: Writes a brief description of the group and all of its descendants.

writeWithValue virtual void PartGroup::write_with_value(ostream &out, int indent_level) const; Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType static TypeHandle TypedWritableReferenceCount::get_class_type(void); Undocumented function.

getClassType static TypeHandle TypedWritable::get_class_type(void); Undocumented function.

getBestParentFromSet int TypedObject::get_best_parent_from_Set(set< int > const &) const; Description: Returns true if the current object is the indicated type exactly.

getClassType static TypeHandle TypedObject::get_class_type(void); Undocumented function.

getType virtual TypeHandle TypedObject::get_type(void) const = 0; Derived classes should override this function to return get_class_type().

getTypeIndex int TypedObject::get_type_index(void) const; Description: 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().

isExactType bool TypedObject::is_exact_type(TypeHandle handle) const; Description: Returns true if the current object is the indicated type exactly.

isOfType bool TypedObject::is_of_type(TypeHandle handle) const; Description: Returns true if the current object is or derives from the indicated type.

getClassType static TypeHandle ReferenceCount::get_class_type(void); Undocumented function.

getRefCount int ReferenceCount::get_ref_count(void) const; Description: Returns the current reference count.

ref void ReferenceCount::ref(void) const; Description: 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.

testRefCountIntegrity bool ReferenceCount::test_ref_count_integrity(void) const; Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

unref bool ReferenceCount::unref(void) const; Description: 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; plus, we don't have a virtual destructor anyway.) 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.

clearName void Namable::clear_name(void); Description: Resets the Namable's name to empty.

getClassType static TypeHandle Namable::get_class_type(void); Undocumented function.

getName string const &Namable::get_name(void) const; Description:

hasName bool Namable::has_name(void) const; Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator = Namable &Namable::operator =(Namable const &other); Description:

output void Namable::output(ostream &out) const; In the absence of any definition to the contrary, outputting a Namable will write out its name. Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName void Namable::set_name(string const &name); Description: