15 #include "eggCharacterFilter.h" 16 #include "eggCharacterCollection.h" 17 #include "eggCharacterData.h" 29 _force_initial_rest_frame =
false;
38 ~EggCharacterFilter() {
49 void EggCharacterFilter::
50 add_fixrest_option() {
53 "Specify this to force all the initial rest frames of the various " 54 "model files to the same value as the first model specified. This " 55 "is a fairly drastic way to repair models whose initial rest frame " 56 "values are completely bogus, but should not be performed when the " 57 "input models are correct.",
58 &EggCharacterFilter::dispatch_none, &_force_initial_rest_frame);
67 bool EggCharacterFilter::
70 _collection = make_collection();
73 if (!EggMultiFilter::post_command_line()) {
78 for (ei = _eggs.begin(); ei != _eggs.end(); ++ei) {
81 if (_collection->add_egg(data) < 0) {
83 <<
" does not contain a character model or animation channel.\n";
88 _collection->check_errors(nout, _force_initial_rest_frame);
100 void EggCharacterFilter::
104 int num_characters = _collection->get_num_characters();
105 for (
int i = 0; i < num_characters; i++) {
110 EggMultiFilter::write_eggs();
string get_basename() const
Returns the basename part of the filename.
void optimize()
Calls optimize() on all models, and recursively on all joints at this node and below.
EggJointData * get_root_joint() const
Returns the root joint of the character hierarchy.
const Filename & get_egg_filename() const
Returns the directory in which the egg file is considered to reside.
This is the primary interface into all the egg data, and the root of the egg file structure...
This is a base class for a program that reads in a number of egg files, operates on them...
Represents a set of characters, as read and collected from possibly several model and/or animation eg...
Represents a single character, as read and collected from several models and animation files...