38class EXPCL_PANDA_CHAN
AnimControl :
public TypedReferenceCount,
public AnimInterface,
public Namable {
41 double frame_rate,
int num_frames);
66 virtual void output(std::ostream &out)
const;
76 virtual void animation_activated();
80 std::string _pending_done_event;
104 return get_class_type();
106 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
111 static void init_type() {
112 TypedReferenceCount::init_type();
113 AnimInterface::init_type();
115 TypedReferenceCount::get_class_type(),
116 AnimInterface::get_class_type());
123INLINE std::ostream &operator << (std::ostream &out,
const AnimControl &control);
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the root of an AnimChannel hierarchy.
Parent class for all animation channels.
Controls the timing of a character animation.
AnimControl(const std::string &name, PartBundle *part, double frame_rate, int num_frames)
This constructor is used to create a temporarily uninitialized AnimControl that will serve as a place...
void set_bound_joints(const BitArray &bound_joints)
Called to initialize the AnimControl with its array of bound_joints, before setup_anim() has complete...
void mark_channels(bool frame_blend_flag)
Marks this point as the point of reference for the next call to channel_has_changed().
const BitArray & get_bound_joints() const
Returns the subset of joints controlled by this AnimControl.
void fail_anim(PartBundle *part)
This can only be called once for a given AnimControl.
bool is_pending() const
Returns true if the AnimControl is being bound asynchronously, and has not yet finished.
void wait_pending()
Blocks the current thread until the AnimControl has finished loading and is fully bound.
void setup_anim(PartBundle *part, AnimBundle *anim, int channel_index, const BitArray &bound_joints)
This can only be called once for a given AnimControl.
std::string get_pending_done_event() const
Returns the event name that will be thrown when the AnimControl is finished binding asynchronously.
void set_pending_done_event(const std::string &done_event)
Specifies an event name that will be thrown when the AnimControl is finished binding asynchronously.
AnimBundle * get_anim() const
Returns the AnimBundle bound in with this AnimControl.
void set_anim_model(PandaNode *model)
Associates the indicated PandaNode with the AnimControl.
bool channel_has_changed(AnimChannelBase *channel, bool frame_blend_flag) const
Returns true if the indicated channel value has changed since the last call to mark_channels().
bool has_anim() const
Returns true if the AnimControl was successfully loaded, or false if there was a problem.
PandaNode * get_anim_model() const
Retrieves the pointer set via set_anim_model().
PartBundle * get_part() const
Returns the PartBundle bound in with this AnimControl.
int get_channel_index() const
Returns the particular channel index associated with this AnimControl.
A dynamic array with an unlimited number of bits.
This class implements a condition variable; see ConditionVar for a brief introduction to this class.
A standard mutex, or mutual exclusion lock.
void output(std::ostream &out) const
Outputs the Namable.
A basic node of the scene graph or data graph.
This is the root of a MovingPart hierarchy.
This is the base class for PartRoot and MovingPart.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.