14 #ifndef EGGCHARACTERCOLLECTION_H 15 #define EGGCHARACTERCOLLECTION_H 52 virtual void write(std::ostream &out,
int indent_level = 0)
const;
53 void check_errors(std::ostream &out,
bool force_initial_rest_frame);
67 int _first_model_index;
78 bool scan_hierarchy(
EggNode *egg_node);
80 const std::string &character_name);
82 const std::string &character_name);
83 void scan_for_morphs(
EggNode *egg_node,
int model_index,
85 void scan_for_sliders(
EggNode *egg_node,
int model_index,
96 class ModelDescription {
98 INLINE ModelDescription();
105 TopEggNodesByName _top_egg_nodes;
107 int _next_model_index;
110 EggNodeList &egg_nodes,
int egg_index,
int model_index);
112 EggNode *egg_node,
int egg_index,
int model_index);
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual EggCharacterData * make_character_data()
Allocates and returns a new EggCharacterData structure.
void rename_char(int i, const std::string &name)
Renames the ith character to the indicated name.
This is our own Panda specialization on the default STL map.
int get_num_models(int egg_index) const
Returns the number of different models found in the indicated egg file.
EggCharacterData * make_character(const std::string &character_name)
Allocates and returns a new EggCharacterData object representing the named character,...
This corresponds to a single morph slider control.
int add_egg(EggData *egg)
Adds a new egg file to the list of models and animation files for this particular character.
This is the primary interface into all the egg data, and the root of the egg file structure.
EggCharacterData * get_character_by_name(const std::string &character_name) const
Returns the Character with the indicated name, if it exists in the collection, or NULL if it does not...
This is our own Panda specialization on the default STL vector.
EggData * get_egg(int i) const
Returns the ith egg file.
The set of attributes that may be applied to vertices as well as polygons, such as surface normal and...
int get_num_characters() const
Returns the number of separate Characters that have been discovered in the various egg files added to...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal.
EggCharacterData * get_character(int i) const
Returns the ith character in the collection.
Represents a set of characters, as read and collected from possibly several model and/or animation eg...
int get_first_model_index(int egg_index) const
Returns the first model index associated with the indicated egg file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Represents a single character, as read and collected from several models and animation files.
EggCharacterData * get_character_by_model_index(int model_index) const
Returns the character associated with the indicated model index.
This is one node of a hierarchy of EggJointData nodes, each of which represents a single joint of the...
virtual EggSliderData * make_slider_data(EggCharacterData *char_data)
Allocates and returns a new EggSliderData structure for the given character.
A base class for things that may be directly added into the egg hierarchy.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
int get_num_eggs() const
Returns the number of egg files that have successfully been added to the Character table.
The highest-level base class in the egg directory.
virtual EggJointData * make_joint_data(EggCharacterData *char_data)
Allocates and returns a new EggJointData structure for the given character.
void check_errors(std::ostream &out, bool force_initial_rest_frame)
Can be called after the collection has been completely filled up with egg files to output any message...