Classes |
| class | CData |
Public Types |
| enum | BlendType { BT_linear,
BT_normalized_linear,
BT_componentwise,
BT_componentwise_quat
} |
typedef pmap< AnimControl
*, float > | ChannelBlend |
Public Member Functions |
| | PartBundle (const string &name="") |
| | Normally, a PartBundle constructor should not be called directly--it will get created when a PartBundleNode is created.
|
| void | clear_anim_preload () |
| | Removes any AnimPreloadTable associated with the PartBundle.
|
| void | clear_control_effects () |
| | Sets the control effect of all AnimControls to zero (but does not "stop" the AnimControls).
|
| virtual int | complete_pointers (TypedWritable **p_list, BamReader *manager) |
| | Takes in a vector of pointers to TypedWritable objects that correspond to all the requests for pointers that this object made to BamReader.
|
| virtual void | control_activated (AnimControl *control) |
| | Called by the AnimControl whenever it starts an animation.
|
| bool | control_joint (const string &joint_name, PandaNode *node) |
| | Specifies that the joint with the indicated name should be animated with the transform on the indicated node.
|
|
| CPT (AnimPreloadTable) get_anim_preload() const |
| bool | do_bind_anim (AnimControl *control, AnimBundle *anim, int hierarchy_match_flags, const PartSubset &subset) |
| | The internal implementation of bind_anim(), this receives a pointer to an uninitialized AnimControl and fills it in if the bind is successful.
|
| virtual void | finalize (BamReader *manager) |
| | Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed.
|
|
virtual TypeHandle | force_init_type () |
| bool | force_update () |
| | Updates all the parts in the bundle to reflect the data for the current frame, whether we believe it needs it or not.
|
| bool | freeze_joint (const string &joint_name, const TransformState *transform) |
| | Specifies that the joint with the indicated name should be frozen with the specified transform.
|
| bool | freeze_joint (const string &joint_name, const LVecBase3f &pos, const LVecBase3f &hpr, const LVecBase3f &scale) |
| | Specifies that the joint with the indicated name should be frozen with the specified transform.
|
| bool | freeze_joint (const string &joint_name, float value) |
| | Specifies that the joint with the indicated name should be frozen with the specified transform.
|
| bool | get_anim_blend_flag () const |
| | Returns whether the character allows multiple different animations to be bound simultaneously.
|
| BlendType | get_blend_type () const |
| | 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.
|
| float | get_control_effect (AnimControl *control) const |
| | Returns the amount by which the character is affected by the indicated AnimControl and its associated animation.
|
| bool | get_frame_blend_flag () const |
| | Returns whether the character interpolates (blends) between two sequential animation frames, or whether it holds the current frame until the next one is ready.
|
| PartBundleNode * | get_node (int n) const |
| | Returns the nth PartBundleNode associated with this PartBundle.
|
| int | get_num_nodes () const |
| | Returns the number of PartBundleNodes that contain a pointer to this PartBundle.
|
| const LMatrix4f & | get_root_xform () const |
| | Returns the transform matrix which is implicitly applied at the root of the animated hierarchy.
|
|
virtual TypeHandle | get_type () const |
| virtual PartGroup * | make_copy () const |
| | Allocates and returns a new copy of the node.
|
|
| MAKE_SEQ (get_nodes, get_num_nodes, get_node) |
| void | merge_anim_preloads (const PartBundle *other) |
| | Copies the contents of the other PartBundle's preload table into this one.
|
| virtual void | output (ostream &out) const |
| | Writes a one-line description of the bundle.
|
|
| PT (PartBundle) apply_transform(const TransformState *transform) |
|
| PT (AnimPreloadTable) modify_anim_preload() |
|
| PT (AnimControl) load_bind_anim(Loader *loader |
|
| PT (AnimControl) bind_anim(AnimBundle *anim |
| bool | release_joint (const string &joint_name) |
| | Releases the named joint from the effects of a previous call to freeze_joint() or control_joint().
|
| void | set_anim_blend_flag (bool anim_blend_flag) |
| | Defines the way the character responds to multiple calls to set_control_effect()).
|
| void | set_anim_preload (AnimPreloadTable *table) |
| | Replaces the AnimPreloadTable associated with the PartBundle.
|
| void | set_blend_type (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.
|
| void | set_control_effect (AnimControl *control, float effect) |
| | Sets the amount by which the character is affected by the indicated AnimControl (and its associated animation).
|
| void | set_frame_blend_flag (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.
|
| void | set_root_xform (const LMatrix4f &root_xform) |
| | Specifies the transform matrix which is implicitly applied at the root of the animated hierarchy.
|
| void | set_update_delay (double delay) |
| | Specifies the minimum amount of time, in seconds, that should elapse between any two consecutive updates.
|
| bool | update () |
| | Updates all the parts in the bundle to reflect the data for the current frame (as set in each of the AnimControls).
|
| void | wait_pending () |
| | Blocks the current thread until all currently-pending AnimControls, with a nonzero control effect, have been loaded and are properly bound.
|
| virtual void | write (ostream &out, int indent_level) const |
| | Writes a brief description of the bundle and all of its descendants.
|
| virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
| | Writes the contents of this object to the datagram for shipping out to a Bam file.
|
| void | xform (const LMatrix4f &mat) |
| | Applies the indicated transform to the root of the animated hierarchy.
|
Static Public Member Functions |
|
static TypeHandle | get_class_type () |
|
static void | init_type () |
| static void | register_with_read_factory () |
| | Factory method to generate a PartBundle object.
|
Public Attributes |
const Filename int const
PartSubset bool | allow_async |
|
const Filename & | filename |
|
const Filename int | hierarchy_match_flags |
|
int | hierarchy_match_flags = 0 |
|
int const PartSubset & | subset = PartSubset()) |
const Filename int const
PartSubset & | subset |
Protected Member Functions |
| | PartBundle (const PartBundle ©) |
| | Normally, you'd use make_copy() or copy_subgraph() to make a copy of this.
|
| virtual void | add_node (PartBundleNode *node) |
| | Adds the PartBundleNode pointer to the set of nodes associated with the PartBundle.
|
| void | fillin (DatagramIterator &scan, BamReader *manager) |
| | This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new PartBundle.
|
| virtual void | remove_node (PartBundleNode *node) |
| | Removes the PartBundleNode pointer from the set of nodes associated with the PartBundle.
|
Static Protected Member Functions |
| static TypedWritable * | make_from_bam (const FactoryParams ¶ms) |
| | Factory method to generate a PartBundle object.
|
Friends |
|
class | Character |
|
class | MovingPartBase |
|
class | MovingPartMatrix |
|
class | MovingPartScalar |
|
class | PartBundleNode |
This is the root of a MovingPart hierarchy.
It defines the hierarchy of moving parts that make up an animatable object.
Definition at line 49 of file partBundle.h.