Panda3D
|
This is the base class for PartRoot and MovingPart. More...
Public Types | |
enum | HierarchyMatchFlags { HMF_ok_part_extra = 1, HMF_ok_anim_extra = 2, HMF_ok_wrong_root_name = 4 } |
Public Member Functions | |
__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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
__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 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 TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Public Attributes | |
PartGroup | children [] |
Returns the nth child of the group. More... | |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. More... | |
![]() | |
int | ref_count |
The current reference count. More... | |
![]() | |
const String | name |
This is the base class for PartRoot and MovingPart.
It defines a hierarchy of MovingParts.
enum HierarchyMatchFlags |
__init__ | ( | PartGroup | parent, |
str | name | ||
) |
Creates the PartGroup, and adds it to the indicated parent.
The only way to delete it subsequently is to delete the entire hierarchy.
bool applyControl | ( | PandaNode | node | ) |
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 | ( | const TransformState | transform | ) |
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.
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 | ) |
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 clearForcedChannel | ( | ) |
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.
PartGroup copySubgraph | ( | ) |
Allocates and returns a new copy of this node and of all of its children.
PartGroup findChild | ( | str | name | ) |
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().
PartGroup getChild | ( | int | n | ) |
Returns the nth child of the group.
PartGroup getChildNamed | ( | str | name | ) |
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 | ( | ) |
|
static |
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.
int getNumChildren | ( | ) |
Returns the number of child nodes of the group.
bool isCharacterJoint | ( | ) |
Returns true if this part is a CharacterJoint, false otherwise.
This is a tiny optimization over is_of_type(CharacterType::get_class_type()).
PartGroup makeCopy | ( | ) |
Allocates and returns a new copy of the node.
Children are not copied, but see copy_subgraph().
sortDescendants | ( | ) |
Sorts the children nodes at each level of the hierarchy into alphabetical order.
This should be done after creating the hierarchy, to guarantee that the correct names will match up together when the AnimBundle is later bound to a PlayerRoot.
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.
PartGroup children[] |
Returns the nth child of the group.