This is a base class for a family of converter classes that manage a conversion from some file type to egg format. More...
#include "somethingToEggConverter.h"
Public Member Functions | |
SomethingToEggConverter (const SomethingToEggConverter ©) | |
void | clear_egg_data () |
Sets the EggData to NULL and makes the converter invalid. More... | |
void | clear_end_frame () |
Removes the value previously set by set_end_frame(). More... | |
void | clear_error () |
Resets the error flag to the no-error state. More... | |
void | clear_frame_inc () |
Removes the value previously set by set_frame_inc(). More... | |
void | clear_input_frame_rate () |
Removes the value previously set by set_input_frame_rate(). More... | |
void | clear_neutral_frame () |
Removes the value previously set by set_neutral_frame(). More... | |
void | clear_output_frame_rate () |
Removes the value previously set by set_output_frame_rate(). More... | |
void | clear_start_frame () |
Removes the value previously set by set_start_frame(). More... | |
virtual bool | convert_file (const Filename &filename)=0 |
Filename | convert_model_path (const Filename &orig_filename) |
Converts the indicated model filename to a relative or absolute or whatever filename, according to _path_replace. More... | |
virtual std::string | get_additional_extensions () const |
Returns a space-separated list of extension, in addition to the one returned by get_extension(), that are recognized by this converter. More... | |
AnimationConvert | get_animation_convert () const |
Returns how source animation will be converted into egg structures. More... | |
const std::string & | get_character_name () const |
Returns the name of the character generated. More... | |
EggData * | get_egg_data () |
Returns the EggData structure. More... | |
double | get_end_frame () const |
Returns the value set by a previous call to set_end_frame(). More... | |
virtual std::string | get_extension () const =0 |
double | get_frame_inc () const |
Returns the value set by a previous call to set_frame_inc(). More... | |
double | get_input_frame_rate () const |
Returns the value set by a previous call to set_input_frame_rate(). More... | |
virtual DistanceUnit | get_input_units () |
This may be called after convert_file() has been called and returned true, indicating a successful conversion. More... | |
bool | get_merge_externals () const |
Returns the current state of the merge_externals flag. More... | |
virtual std::string | get_name () const =0 |
double | get_neutral_frame () const |
Returns the value set by a previous call to set_neutral_frame(). More... | |
double | get_output_frame_rate () const |
Returns the value set by a previous call to set_output_frame_rate(). More... | |
PathReplace * | get_path_replace () |
Returns a pointer to the PathReplace object associated with this converter. More... | |
const PathReplace * | get_path_replace () const |
Returns a pointer to the PathReplace object associated with this converter. More... | |
double | get_start_frame () const |
Returns the value set by a previous call to set_start_frame(). More... | |
bool | had_error () const |
Returns true if an error was detected during the conversion process (unless _allow_errors is true), false otherwise. More... | |
bool | handle_external_reference (EggGroupNode *egg_parent, const Filename &ref_filename) |
Handles an external reference in the source file. More... | |
bool | has_end_frame () const |
Returns true if the ending frame has been explicitly specified via set_end_frame(), or false if the ending frame should be implicit based on the source. More... | |
bool | has_frame_inc () const |
Returns true if the frame increment has been explicitly specified via set_frame_inc(), or false if the ending frame should be implicit based on the source. More... | |
bool | has_input_frame_rate () const |
Returns true if the frame rate has been explicitly specified via set_input_frame_rate(), or false otherwise. More... | |
bool | has_neutral_frame () const |
Returns true if the neutral frame has been explicitly specified via set_neutral_frame(), or false otherwise. More... | |
bool | has_output_frame_rate () const |
Returns true if the frame rate has been explicitly specified via set_output_frame_rate(), or false otherwise. More... | |
bool | has_start_frame () const |
Returns true if the starting frame has been explicitly specified via set_start_frame(), or false if the starting frame should be implicit based on the source. More... | |
virtual SomethingToEggConverter * | make_copy ()=0 |
virtual | PT (PandaNode) convert_to_node(const LoaderOptions &options |
void | set_animation_convert (AnimationConvert animation_convert) |
Specifies how source animation will be converted into egg structures. More... | |
void | set_character_name (const std::string &character_name) |
Specifies the name of the character generated. More... | |
void | set_egg_data (EggData *egg_data) |
Sets the egg data that will be filled in when convert_file() is called. More... | |
void | set_end_frame (double end_frame) |
Specifies the ending frame of the animation to convert, in the units specified by set_input_frame_rate(). More... | |
void | set_frame_inc (double frame_inc) |
Specifies the increment between frames to extract. More... | |
void | set_input_frame_rate (double input_frame_rate) |
Specifies the number of frames per second that is represented by the "frame" unit in the animation package. More... | |
void | set_merge_externals (bool merge_externals) |
Sets the merge_externals flag. More... | |
void | set_neutral_frame (double neutral_frame) |
Specifies the frame of animation to represent the neutral pose of the model. More... | |
void | set_output_frame_rate (double output_frame_rate) |
Specifies the number of frames per second that the resulting animation should be played at. More... | |
void | set_path_replace (PathReplace *path_replace) |
Replaces the PathReplace object (which specifies how to mangle paths from the source to the destination egg file) with a new one. More... | |
void | set_start_frame (double start_frame) |
Specifies the starting frame of the animation to convert, in the units specified by set_input_frame_rate(). More... | |
virtual bool | supports_compressed () const |
Returns true if this file type can transparently load compressed files (with a .pz extension), false otherwise. More... | |
virtual bool | supports_convert_to_node (const LoaderOptions &options) const |
Returns true if this converter can directly convert the model type to internal Panda memory structures, given the indicated options, or false otherwise. More... | |
Static Public Member Functions | |
static double | get_default_frame_rate () |
Returns the default frame rate if nothing is specified for input_frame_rate or output_frame_rate, and the animation package does not have an implicit frame rate. More... | |
Public Attributes | |
bool | _allow_errors |
virtual const Filename & | filename |
This is a base class for a family of converter classes that manage a conversion from some file type to egg format.
Classes of this type can be used to implement xxx2egg converter programs, as well as LoaderFileTypeXXX run-time loaders.
Definition at line 38 of file somethingToEggConverter.h.
|
inline |
Sets the EggData to NULL and makes the converter invalid.
Definition at line 372 of file somethingToEggConverter.I.
References set_egg_data().
|
inline |
Removes the value previously set by set_end_frame().
Definition at line 174 of file somethingToEggConverter.I.
|
inline |
Resets the error flag to the no-error state.
had_error() will return false until a new error is generated.
Definition at line 19 of file somethingToEggConverter.I.
Referenced by DXFToEggConverter::convert_file(), VRMLToEggConverter::convert_file(), ObjToEggConverter::convert_file(), XFileToEggConverter::convert_file(), DAEToEggConverter::convert_file(), MayaToEggConverter::convert_maya(), and PT().
|
inline |
Removes the value previously set by set_frame_inc().
Definition at line 216 of file somethingToEggConverter.I.
|
inline |
Removes the value previously set by set_input_frame_rate().
Definition at line 295 of file somethingToEggConverter.I.
|
inline |
Removes the value previously set by set_neutral_frame().
Definition at line 254 of file somethingToEggConverter.I.
|
inline |
Removes the value previously set by set_output_frame_rate().
Definition at line 334 of file somethingToEggConverter.I.
|
inline |
Removes the value previously set by set_start_frame().
Definition at line 133 of file somethingToEggConverter.I.
Converts the indicated model filename to a relative or absolute or whatever filename, according to _path_replace.
Definition at line 389 of file somethingToEggConverter.I.
Referenced by XFileMaterial::apply_to_egg().
|
virtual |
Returns a space-separated list of extension, in addition to the one returned by get_extension(), that are recognized by this converter.
Reimplemented in MayaToEggConverter.
Definition at line 75 of file somethingToEggConverter.cxx.
Referenced by LoaderFileTypePandatool::get_additional_extensions().
|
inline |
Returns how source animation will be converted into egg structures.
Definition at line 75 of file somethingToEggConverter.I.
|
inline |
Returns the name of the character generated.
See set_character_name().
Definition at line 93 of file somethingToEggConverter.I.
|
inlinestatic |
Returns the default frame rate if nothing is specified for input_frame_rate or output_frame_rate, and the animation package does not have an implicit frame rate.
Definition at line 345 of file somethingToEggConverter.I.
|
inline |
Returns the EggData structure.
Definition at line 380 of file somethingToEggConverter.I.
Referenced by XFileAnimationSet::create_hierarchy(), and handle_external_reference().
|
inline |
Returns the value set by a previous call to set_end_frame().
It is an error to call this if has_end_frame() returns false.
Definition at line 165 of file somethingToEggConverter.I.
|
inline |
Returns the value set by a previous call to set_frame_inc().
It is an error to call this if has_frame_inc() returns false.
Definition at line 207 of file somethingToEggConverter.I.
|
inline |
Returns the value set by a previous call to set_input_frame_rate().
It is an error to call this if has_input_frame_rate() returns false.
Definition at line 286 of file somethingToEggConverter.I.
|
virtual |
This may be called after convert_file() has been called and returned true, indicating a successful conversion.
It will return the distance units represented by the converted egg file, if known, or DU_invalid if not known.
Reimplemented in MayaToEggConverter, FltToEggConverter, and DAEToEggConverter.
Definition at line 107 of file somethingToEggConverter.cxx.
|
inline |
Returns the current state of the merge_externals flag.
Definition at line 364 of file somethingToEggConverter.I.
|
inline |
Returns the value set by a previous call to set_neutral_frame().
It is an error to call this if has_neutral_frame() returns false.
Definition at line 245 of file somethingToEggConverter.I.
|
inline |
Returns the value set by a previous call to set_output_frame_rate().
It is an error to call this if has_output_frame_rate() returns false.
Definition at line 325 of file somethingToEggConverter.I.
|
inline |
Returns a pointer to the PathReplace object associated with this converter.
If the converter is non-const, this returns a non-const pointer, which can be adjusted.
Definition at line 47 of file somethingToEggConverter.I.
|
inline |
Returns a pointer to the PathReplace object associated with this converter.
If the converter is non-const, this returns a non-const pointer, which can be adjusted.
Definition at line 57 of file somethingToEggConverter.I.
|
inline |
Returns the value set by a previous call to set_start_frame().
It is an error to call this if has_start_frame() returns false.
Definition at line 124 of file somethingToEggConverter.I.
|
inline |
Returns true if an error was detected during the conversion process (unless _allow_errors is true), false otherwise.
Definition at line 28 of file somethingToEggConverter.I.
Referenced by PT().
bool SomethingToEggConverter::handle_external_reference | ( | EggGroupNode * | egg_parent, |
const Filename & | ref_filename | ||
) |
Handles an external reference in the source file.
If the merge_externals flag is true (see set_merge_externals()), this causes the named file to be read in and converted, and the converted egg geometry is parented to egg_parent. Otherwise, only a reference to a similarly named egg file is parented to egg_parent.
The parameters orig_filename and searchpath are as those passed to convert_model_path().
Returns true on success, false on failure.
Definition at line 135 of file somethingToEggConverter.cxx.
References get_egg_data(), EggData::set_coordinate_system, and set_egg_data().
|
inline |
Returns true if the ending frame has been explicitly specified via set_end_frame(), or false if the ending frame should be implicit based on the source.
Definition at line 156 of file somethingToEggConverter.I.
|
inline |
Returns true if the frame increment has been explicitly specified via set_frame_inc(), or false if the ending frame should be implicit based on the source.
Definition at line 198 of file somethingToEggConverter.I.
|
inline |
Returns true if the frame rate has been explicitly specified via set_input_frame_rate(), or false otherwise.
Definition at line 277 of file somethingToEggConverter.I.
|
inline |
Returns true if the neutral frame has been explicitly specified via set_neutral_frame(), or false otherwise.
Definition at line 236 of file somethingToEggConverter.I.
|
inline |
Returns true if the frame rate has been explicitly specified via set_output_frame_rate(), or false otherwise.
Definition at line 316 of file somethingToEggConverter.I.
|
inline |
Returns true if the starting frame has been explicitly specified via set_start_frame(), or false if the starting frame should be implicit based on the source.
Definition at line 115 of file somethingToEggConverter.I.
|
inline |
Specifies how source animation will be converted into egg structures.
The default is AC_none, which means animation tables will be ignored. This is only meaningful for converters that understand animation.
Definition at line 67 of file somethingToEggConverter.I.
|
inline |
Specifies the name of the character generated.
This name should match between all the model and channel egg files for a particular character and its associated animations.
Definition at line 85 of file somethingToEggConverter.I.
void SomethingToEggConverter::set_egg_data | ( | EggData * | egg_data | ) |
Sets the egg data that will be filled in when convert_file() is called.
This must be called before convert_file().
Definition at line 66 of file somethingToEggConverter.cxx.
Referenced by clear_egg_data(), and handle_external_reference().
|
inline |
Specifies the ending frame of the animation to convert, in the units specified by set_input_frame_rate().
If this is unspecified, the ending frame is taken from the source, for instance from the last frame of the animation slider.
Definition at line 145 of file somethingToEggConverter.I.
|
inline |
Specifies the increment between frames to extract.
This is the amount to increment the time slider (in units of internal_frame_rate) between extracting each frame. If this is not specified, the default is taken from the animation package, or 1.0 if the animation package does not specified a frame increment.
Definition at line 187 of file somethingToEggConverter.I.
|
inline |
Specifies the number of frames per second that is represented by the "frame" unit in the animation package.
If this is omitted, it is taken from whatever the file header indicates. Some animation packages do not encode a frame rate, in which case the default if this is omitted is the same as the output frame rate.
Definition at line 267 of file somethingToEggConverter.I.
|
inline |
Sets the merge_externals flag.
When this is true, external references within the source file are read in and merged directly; otherwise, only a reference to a similarly-named egg file is inserted.
Definition at line 355 of file somethingToEggConverter.I.
|
inline |
Specifies the frame of animation to represent the neutral pose of the model.
Definition at line 226 of file somethingToEggConverter.I.
|
inline |
Specifies the number of frames per second that the resulting animation should be played at.
If this is omitted, it is taken to be the same as the input frame rate.
Definition at line 306 of file somethingToEggConverter.I.
|
inline |
Replaces the PathReplace object (which specifies how to mangle paths from the source to the destination egg file) with a new one.
Definition at line 37 of file somethingToEggConverter.I.
|
inline |
Specifies the starting frame of the animation to convert, in the units specified by set_input_frame_rate().
If this is unspecified, the starting frame is taken from the source, for instance from the first frame of the animation slider.
Definition at line 104 of file somethingToEggConverter.I.
|
virtual |
Returns true if this file type can transparently load compressed files (with a .pz extension), false otherwise.
Reimplemented in FltToEggConverter, LwoToEggConverter, XFileToEggConverter, ObjToEggConverter, VRMLToEggConverter, and DXFToEggConverter.
Definition at line 84 of file somethingToEggConverter.cxx.
Referenced by LoaderFileTypePandatool::supports_compressed().
|
virtual |
Returns true if this converter can directly convert the model type to internal Panda memory structures, given the indicated options, or false otherwise.
If this returns true, then convert_to_node() may be called to perform the conversion, which may be faster than calling convert_file() if the ultimate goal is a PandaNode anyway.
Reimplemented in ObjToEggConverter.
Definition at line 96 of file somethingToEggConverter.cxx.