25 get_anim_preload()
const {
26 return _anim_preload.get_read_pointer();
36 modify_anim_preload() {
37 return _anim_preload.get_write_pointer();
48 _anim_preload = anim_preload;
77 cdata->_blend_type = bt;
91 return cdata->_blend_type;
104 return cdata->_anim_blend_flag;
133 cdata->_frame_blend_flag = frame_blend_flag;
147 return cdata->_frame_blend_flag;
160 cdata->_root_xform = root_xform;
161 cdata->_anim_changed =
true;
174 cdata->_root_xform = cdata->_root_xform * mat;
176 cdata->_anim_changed =
true;
188 return cdata->_root_xform;
199 return _nodes.size();
210 nassertr(n >= 0 && n < (
int)_nodes.size(), NULL);
236 do_set_control_effect(control, effect, cdata);
249 return do_get_control_effect(control, cdata);
263 _update_delay = delay;
This table records data about a list of animations for a particular model, such as number of frames a...
void set_control_effect(AnimControl *control, PN_stdfloat effect)
Sets the amount by which the character is affected by the indicated AnimControl (and its associated a...
void set_frame_blend_flag(bool frame_blend_flag)
Specifies whether the character interpolates (blends) between two sequential frames of an active anim...
PN_stdfloat get_control_effect(AnimControl *control) const
Returns the amount by which the character is affected by the indicated AnimControl and its associated...
const LMatrix4 & get_root_xform() const
Returns the transform matrix which is implicitly applied at the root of the animated hierarchy...
void xform(const LMatrix4 &mat)
Applies the indicated transform to the root of the animated hierarchy.
bool get_frame_blend_flag() const
Returns whether the character interpolates (blends) between two sequential animation frames...
virtual void do_xform(const LMatrix4 &mat, const LMatrix4 &inv_mat)
Called by PartBundle::xform(), this indicates the indicated transform is being applied to the root jo...
void set_anim_preload(AnimPreloadTable *table)
Replaces the AnimPreloadTable associated with the PartBundle.
This template class calls PipelineCycler::read_unlocked(), and then provides a transparent read-only ...
bool get_anim_blend_flag() const
Returns whether the character allows multiple different animations to be bound simultaneously.
This is a 4-by-4 transform matrix.
This is a node that contains a pointer to an PartBundle.
BlendType get_blend_type() const
Returns the algorithm that is used when blending multiple frames or multiple animations together...
void clear_anim_preload()
Removes any AnimPreloadTable associated with the PartBundle.
void set_update_delay(double delay)
Specifies the minimum amount of time, in seconds, that should elapse between any two consecutive upda...
This template class calls PipelineCycler::write() in the constructor and PipelineCycler::release_writ...
void set_root_xform(const LMatrix4 &root_xform)
Specifies the transform matrix which is implicitly applied at the root of the animated hierarchy...
This is the root of a MovingPart hierarchy.
Controls the timing of a character animation.
int get_num_nodes() const
Returns the number of PartBundleNodes that contain a pointer to this PartBundle.
void set_blend_type(BlendType bt)
Defines the algorithm that is used when blending multiple frames or multiple animations together...
static int get_current_pipeline_stage()
Returns the integer pipeline stage associated with the current thread.
PartBundleNode * get_node(int n) const
Returns the nth PartBundleNode associated with this PartBundle.