15 #include "bindAnimRequest.h"
16 #include "animBundleNode.h"
17 #include "animControl.h"
18 #include "partBundle.h"
28 BindAnimRequest(
const string &name,
35 _hierarchy_match_flags(hierarchy_match_flags),
46 AsyncTask::DoneStatus BindAnimRequest::
48 ModelLoadRequest::do_task();
52 if (_control->get_ref_count() == 1) {
55 _control->fail_anim(part);
62 _control->fail_anim(part);
65 _control->set_anim_model(model);
70 _control->fail_anim(part);
74 if (!part->
do_bind_anim(_control, anim, _hierarchy_match_flags, _subset)) {
76 _control->fail_anim(part);
A basic node of the scene graph or data graph.
Specifies parameters that may be passed to the loader.
This is the root of an AnimChannel hierarchy.
A convenient class for loading models from disk, in bam or egg format (or any of a number of other fo...
static AnimBundle * find_anim_bundle(PandaNode *root)
Recursively walks the scene graph beginning at the indicated node (which need not be an AnimBundleNod...
The name of a file, such as a texture file or an Egg file.
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 a...
This class is used to define a subset of part names to apply to the PartBundle::bind_anim() operation...
This is the root of a MovingPart hierarchy.
Controls the timing of a character animation.
A class object that manages a single asynchronous model load request.
TypeHandle is the identifier used to differentiate C++ class types.
PandaNode * get_model() const
Returns the model that was loaded asynchronously, if any, or NULL if there was an error...