Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

FltToEggConverter Class Reference

This class supervises the construction of an EggData structure from the data represented by the FltHeader. More...

#include <fltToEggConverter.h>

Inheritance diagram for FltToEggConverter:

SomethingToEggConverter List of all members.

Public Member Functions

 FltToEggConverter ()
 FltToEggConverter (const FltToEggConverter &copy)
 ~FltToEggConverter ()
virtual SomethingToEggConvertermake_copy ()
 Allocates and returns a new copy of the converter.

virtual string get_name () const
 Returns the English name of the file type this converter supports.

virtual string get_extension () const
 Returns the common extension of the file type this converter supports.

virtual bool convert_file (const Filename &filename)
 Handles the reading of the input file and converting it to egg.

bool convert_flt (const FltHeader *flt_header)
 Fills up the egg_data structure according to the indicated lwo structure.

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.

PathReplaceget_path_replace ()
 Returns a pointer to the PathReplace object associated with this converter.

const PathReplaceget_path_replace () const
 Returns a pointer to the PathReplace object associated with this converter.

void set_animation_convert (AnimationConvert animation_convert)
 Specifies how source animation will be converted into egg structures.

AnimationConvert get_animation_convert () const
 Returns how source animation will be converted into egg structures.

void set_character_name (const string &character_name)
 Specifies the name of the character generated.

const string & get_character_name () const
 Returns the name of the character generated.

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().

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.

double get_start_frame () const
 Returns the value set by a previous call to set_start_frame().

void clear_start_frame ()
 Removes the value previously set by set_start_frame().

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().

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.

double get_end_frame () const
 Returns the value set by a previous call to set_end_frame().

void clear_end_frame ()
 Removes the value previously set by set_end_frame().

void set_frame_inc (double frame_inc)
 Specifies the increment between frames to extract.

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.

double get_frame_inc () const
 Returns the value set by a previous call to set_frame_inc().

void clear_frame_inc ()
 Removes the value previously set by set_frame_inc().

void set_neutral_frame (double neutral_frame)
 Specifies the frame of animation to represent the neutral pose of the model.

bool has_neutral_frame () const
 Returns true if the neutral frame has been explicitly specified via set_neutral_frame(), or false otherwise.

double get_neutral_frame () const
 Returns the value set by a previous call to set_neutral_frame().

void clear_neutral_frame ()
 Removes the value previously set by set_neutral_frame().

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.

bool has_input_frame_rate () const
 Returns true if the frame rate has been explicitly specified via set_input_frame_rate(), or false otherwise.

double get_input_frame_rate () const
 Returns the value set by a previous call to set_input_frame_rate().

void clear_input_frame_rate ()
 Removes the value previously set by set_input_frame_rate().

void set_output_frame_rate (double output_frame_rate)
 Specifies the number of frames per second that the resulting animation should be played at.

bool has_output_frame_rate () const
 Returns true if the frame rate has been explicitly specified via set_output_frame_rate(), or false otherwise.

double get_output_frame_rate () const
 Returns the value set by a previous call to set_output_frame_rate().

void clear_output_frame_rate ()
 Removes the value previously set by set_output_frame_rate().

void set_merge_externals (bool merge_externals)
 Sets the merge_externals flag.

bool get_merge_externals () const
 Returns the current state of the merge_externals flag.

void set_egg_data (EggData *egg_data, bool owns_egg_data)
 Sets the egg data that will be filled in when convert_file() is called.

void clear_egg_data ()
 Sets the EggData to NULL and makes the converter invalid.

EggDataget_egg_data ()
 Returns the EggData structure.

bool handle_external_reference (EggGroupNode *egg_parent, const Filename &ref_filename)
 Handles an external reference in the source file.

Filename convert_texture_path (const Filename &orig_filename)
 Converts the indicated texture filename to a relative or absolute or whatever filename, according to _path_replace.

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.


Static Public Member Functions

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.


Public Attributes

bool _compose_transforms
bool _allow_errors

Protected Types

enum  ControlFlags {
  CF_start_frame = 0x0001, CF_end_frame = 0x0002, CF_frame_inc = 0x0004, CF_neutral_frame = 0x0008,
  CF_input_frame_rate = 0x0010, CF_output_frame_rate = 0x0020
}

Protected Attributes

PointerTo< PathReplace_path_replace
AnimationConvert _animation_convert
string _character_name
double _start_frame
double _end_frame
double _frame_inc
double _neutral_frame
double _input_frame_rate
double _output_frame_rate
int _control_flags
bool _merge_externals
EggData_egg_data
bool _owns_egg_data
bool _error

Private Types

typedef pvector< PT_EggVertexEggVertices
typedef pmap< const FltTexture *,
PointerTo< EggTexture > > 
Textures

Private Member Functions

void cleanup ()
 Frees all the internal data structures after we're done converting, and resets the converter to its initial state.

void convert_record (const FltRecord *flt_record, FltToEggLevelState &state)
 Converts the record and all of its children.

void dispatch_record (const FltRecord *flt_record, FltToEggLevelState &state)
 Determines what kind of record this is and calls the appropriate convert function.

void convert_lod (const FltLOD *flt_lod, FltToEggLevelState &state)
 Converts the LOD bead and all of its children.

void convert_group (const FltGroup *flt_group, FltToEggLevelState &state)
 Converts the group and all of its children.

void convert_object (const FltObject *flt_object, FltToEggLevelState &state)
 Converts the object and all of its children.

void convert_bead_id (const FltBeadID *flt_bead, FltToEggLevelState &state)
 Converts the generic bead (with ID) and all of its children.

void convert_bead (const FltBead *flt_bead, FltToEggLevelState &state)
 Converts the generic bead (without ID) and all of its children.

void convert_face (const FltFace *flt_face, FltToEggLevelState &state)
 Converts the face and all of its children.

void convert_ext_ref (const FltExternalReference *flt_ext, FltToEggLevelState &state)
 Converts the external reference node.

void setup_geometry (const FltGeometry *flt_geom, FltToEggLevelState &state, EggPrimitive *egg_prim, EggVertexPool *egg_vpool, const EggVertices &vertices)
 Applies the state indicated in the FltGeometry record to the indicated EggPrimitive and all of its indicated vertices, and then officially adds the vertices to the vertex pool and to the primitive, and adds the primitive to its appropriate parent.

void convert_subfaces (const FltRecord *flt_record, FltToEggLevelState &state)
 Records all of the subfaces of the indicated group as coplanar polygons (i.e.

bool parse_comment (const FltBeadID *flt_bead, EggNode *egg_node)
 Scans the comment on this record for " { ...

bool parse_comment (const FltBead *flt_bead, EggNode *egg_node)
 Scans the comment on this record for " { ...

bool parse_comment (const FltTexture *flt_texture, EggNode *egg_node)
 Scans the comment on this record for " { ...

bool parse_comment (const string &comment, const string &name, EggNode *egg_node)
 Scans the comment on this record for " { ...

PT_EggVertex make_egg_vertex (const FltVertex *flt_vertex)
 Makes a new EggVertex for the indicated FltVertex.

PT_EggTexture make_egg_texture (const FltTexture *flt_texture)
 Makes a new EggTexture for the indicated FltTexture, or returns a pointer to one previously made for the same FltTexture.


Private Attributes

ConstPointerTo< FltHeader_flt_header
PointerTo< EggVertexPool_main_egg_vpool
Textures _textures

Detailed Description

This class supervises the construction of an EggData structure from the data represented by the FltHeader.

Reading and writing the egg and flt structures is left to the user.

Definition at line 64 of file fltToEggConverter.h.


Member Typedef Documentation

typedef pvector< PT_EggVertex > FltToEggConverter::EggVertices [private]
 

Definition at line 86 of file fltToEggConverter.h.

typedef pmap<const FltTexture *, PointerTo< EggTexture > > FltToEggConverter::Textures [private]
 

Definition at line 117 of file fltToEggConverter.h.


Member Enumeration Documentation

enum SomethingToEggConverter::ControlFlags [protected, inherited]
 

Enumeration values:
CF_start_frame 
CF_end_frame 
CF_frame_inc 
CF_neutral_frame 
CF_input_frame_rate 
CF_output_frame_rate 

Definition at line 140 of file somethingToEggConverter.h.


Constructor & Destructor Documentation

FltToEggConverter::FltToEggConverter  ) 
 

Definition at line 55 of file fltToEggConverter.cxx.

Referenced by ~FltToEggConverter().

FltToEggConverter::FltToEggConverter const FltToEggConverter &  copy  ) 
 

Definition at line 67 of file fltToEggConverter.cxx.

References cleanup().

FltToEggConverter::~FltToEggConverter  ) 
 

Definition at line 81 of file fltToEggConverter.cxx.

References FltToEggConverter().


Member Function Documentation

void FltToEggConverter::cleanup void   )  [private]
 

Frees all the internal data structures after we're done converting, and resets the converter to its initial state.

Definition at line 223 of file fltToEggConverter.cxx.

Referenced by FltToEggConverter().

void SomethingToEggConverter::clear_egg_data  )  [inline, inherited]
 

Sets the EggData to NULL and makes the converter invalid.

Definition at line 654 of file somethingToEggConverter.I.

void SomethingToEggConverter::clear_end_frame  )  [inline, inherited]
 

Removes the value previously set by set_end_frame().

Definition at line 291 of file somethingToEggConverter.I.

References SomethingToEggConverter::_neutral_frame, SomethingToEggConverter::has_neutral_frame(), INLINE, and nassertr.

void SomethingToEggConverter::clear_frame_inc  )  [inline, inherited]
 

Removes the value previously set by set_frame_inc().

Definition at line 370 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_output_frame_rate, SomethingToEggConverter::CF_output_frame_rate, and INLINE.

void SomethingToEggConverter::clear_input_frame_rate  )  [inline, inherited]
 

Removes the value previously set by set_input_frame_rate().

Definition at line 514 of file somethingToEggConverter.I.

void SomethingToEggConverter::clear_neutral_frame  )  [inline, inherited]
 

Removes the value previously set by set_neutral_frame().

Definition at line 437 of file somethingToEggConverter.I.

References SomethingToEggConverter::_merge_externals, and INLINE.

void SomethingToEggConverter::clear_output_frame_rate  )  [inline, inherited]
 

Removes the value previously set by set_output_frame_rate().

Definition at line 585 of file somethingToEggConverter.I.

void SomethingToEggConverter::clear_start_frame  )  [inline, inherited]
 

Removes the value previously set by set_start_frame().

Definition at line 216 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_frame_inc, SomethingToEggConverter::CF_frame_inc, and INLINE.

void FltToEggConverter::convert_bead const FltBead flt_bead,
FltToEggLevelState state
[private]
 

Converts the generic bead (without ID) and all of its children.

Definition at line 400 of file fltToEggConverter.cxx.

References FltExternalReference::get_ref_filename(), FltToEggLevelState::get_synthetic_group(), and SomethingToEggConverter::handle_external_reference().

void FltToEggConverter::convert_bead_id const FltBeadID flt_bead,
FltToEggLevelState state
[private]
 

Converts the generic bead (with ID) and all of its children.

Definition at line 375 of file fltToEggConverter.cxx.

void FltToEggConverter::convert_ext_ref const FltExternalReference flt_ext,
FltToEggLevelState state
[private]
 

Converts the external reference node.

Definition at line 475 of file fltToEggConverter.cxx.

void FltToEggConverter::convert_face const FltFace flt_face,
FltToEggLevelState state
[private]
 

Converts the face and all of its children.

Definition at line 423 of file fltToEggConverter.cxx.

References FltGeometry::_billboard_type, FltToEggLevelState::_egg_parent, FltToEggLevelState::_flt_object, FltGeometry::_light_mode, EggGroupNode::add_child(), Colorf, convert_subfaces(), FltGeometry::get_color(), FltBeadID::get_id(), FltToEggLevelState::get_synthetic_group(), FltGeometry::LM_face_no_normal, FltGeometry::LM_face_with_normal, FltGeometry::LM_vertex_no_normal, FltGeometry::LM_vertex_with_normal, and NULL.

bool FltToEggConverter::convert_file const Filename filename  )  [virtual]
 

Handles the reading of the input file and converting it to egg.

Returns true if successful, false otherwise.

This is designed to be as generic as possible, generally in support of run-time loading. Command-line converters may choose to use convert_flt() instead, as it provides more control.

Implements SomethingToEggConverter.

Definition at line 152 of file fltToEggConverter.cxx.

References SomethingToEggConverter::_egg_data, and _main_egg_vpool.

bool FltToEggConverter::convert_flt const FltHeader flt_header  ) 
 

Fills up the egg_data structure according to the indicated lwo structure.

Definition at line 177 of file fltToEggConverter.cxx.

References _flt_header, _main_egg_vpool, _textures, PointerTo< EggVertexPool >::clear(), and ConstPointerTo< FltHeader >::clear().

void FltToEggConverter::convert_group const FltGroup flt_group,
FltToEggLevelState state
[private]
 

Converts the group and all of its children.

*** replicate count.

Definition at line 322 of file fltToEggConverter.cxx.

void FltToEggConverter::convert_lod const FltLOD flt_lod,
FltToEggLevelState state
[private]
 

Converts the LOD bead and all of its children.

Definition at line 295 of file fltToEggConverter.cxx.

References FltToEggLevelState::_egg_parent, FltToEggLevelState::_flt_object, EggGroupNode::add_child(), convert_record(), FltBeadID::get_id(), parse_comment(), and FltToEggLevelState::set_transform().

Filename SomethingToEggConverter::convert_model_path const Filename orig_filename  )  [inline, inherited]
 

Converts the indicated model filename to a relative or absolute or whatever filename, according to _path_replace.

Definition at line 701 of file somethingToEggConverter.I.

void FltToEggConverter::convert_object const FltObject flt_object,
FltToEggLevelState state
[private]
 

Converts the object and all of its children.

Definition at line 351 of file fltToEggConverter.cxx.

References FltGeometry::_draw_type, FltGeometry::DT_bi_light, FltGeometry::DT_omni_light, FltGeometry::DT_uni_light, and PT.

void FltToEggConverter::convert_record const FltRecord flt_record,
FltToEggLevelState state
[private]
 

Converts the record and all of its children.

Definition at line 238 of file fltToEggConverter.cxx.

Referenced by convert_lod().

void FltToEggConverter::convert_subfaces const FltRecord flt_record,
FltToEggLevelState state
[private]
 

Records all of the subfaces of the indicated group as coplanar polygons (i.e.

decals) of the group.

If coplanar polygons exist, the state is modified so that _egg_parent is the new group to which the base polygons should be added. Therefore, subfaces should be defined before the ordinary children are processed.

Definition at line 641 of file fltToEggConverter.cxx.

Referenced by convert_face().

Filename SomethingToEggConverter::convert_texture_path const Filename orig_filename  )  [inline, inherited]
 

Converts the indicated texture filename to a relative or absolute or whatever filename, according to _path_replace.

Definition at line 684 of file somethingToEggConverter.I.

void FltToEggConverter::dispatch_record const FltRecord flt_record,
FltToEggLevelState state
[private]
 

Determines what kind of record this is and calls the appropriate convert function.

Definition at line 258 of file fltToEggConverter.cxx.

AnimationConvert SomethingToEggConverter::get_animation_convert  )  const [inline, inherited]
 

Returns how source animation will be converted into egg structures.

Definition at line 108 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_start_frame, SomethingToEggConverter::CF_start_frame, and INLINE.

const string & SomethingToEggConverter::get_character_name  )  const [inline, inherited]
 

Returns the name of the character generated.

See set_character_name().

Definition at line 142 of file somethingToEggConverter.I.

References SomethingToEggConverter::_start_frame, SomethingToEggConverter::has_start_frame(), and nassertr.

double SomethingToEggConverter::get_default_frame_rate  )  [inline, static, inherited]
 

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 605 of file somethingToEggConverter.I.

EggData & SomethingToEggConverter::get_egg_data  )  [inline, inherited]
 

Returns the EggData structure.

Definition at line 667 of file somethingToEggConverter.I.

Referenced by MayaToEggConverter::close_api(), MayaToEggConverter::convert_flip(), and SomethingToEggConverter::set_egg_data().

double SomethingToEggConverter::get_end_frame  )  const [inline, inherited]
 

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 275 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_neutral_frame, and SomethingToEggConverter::CF_neutral_frame.

string FltToEggConverter::get_extension  )  const [virtual]
 

Returns the common extension of the file type this converter supports.

Implements SomethingToEggConverter.

Definition at line 125 of file fltToEggConverter.cxx.

References FE_ok, FltError, and nout.

double SomethingToEggConverter::get_frame_inc  )  const [inline, inherited]
 

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 354 of file somethingToEggConverter.I.

References SomethingToEggConverter::_input_frame_rate.

double SomethingToEggConverter::get_input_frame_rate  )  const [inline, inherited]
 

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 498 of file somethingToEggConverter.I.

References SomethingToEggConverter::_path_replace, and INLINE.

bool SomethingToEggConverter::get_merge_externals  )  const [inline, inherited]
 

Returns the current state of the merge_externals flag.

See set_merge_externals().

Definition at line 639 of file somethingToEggConverter.I.

string FltToEggConverter::get_name  )  const [virtual]
 

Returns the English name of the file type this converter supports.

Implements SomethingToEggConverter.

Definition at line 110 of file fltToEggConverter.cxx.

References SomethingToEggConverter::_path_replace, and PT.

double SomethingToEggConverter::get_neutral_frame  )  const [inline, inherited]
 

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 421 of file somethingToEggConverter.I.

References INLINE.

Referenced by MayaToEggConverter::close_api().

double SomethingToEggConverter::get_output_frame_rate  )  const [inline, inherited]
 

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 569 of file somethingToEggConverter.I.

const PathReplace * SomethingToEggConverter::get_path_replace  )  const [inline, inherited]
 

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 74 of file somethingToEggConverter.I.

References SomethingToEggConverter::_animation_convert, AnimationConvert, and INLINE.

PathReplace * SomethingToEggConverter::get_path_replace  )  [inline, inherited]
 

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 55 of file somethingToEggConverter.I.

References SomethingToEggConverter::_path_replace.

Referenced by MayaPview::creator().

double SomethingToEggConverter::get_start_frame  )  const [inline, inherited]
 

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 200 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_end_frame, SomethingToEggConverter::CF_end_frame, and INLINE.

bool SomethingToEggConverter::handle_external_reference EggGroupNode egg_parent,
const Filename ref_filename
[inherited]
 

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 141 of file somethingToEggConverter.cxx.

Referenced by convert_bead().

bool SomethingToEggConverter::has_end_frame  )  const [inline, inherited]
 

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 258 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_frame_inc, SomethingToEggConverter::CF_frame_inc, and INLINE.

bool SomethingToEggConverter::has_frame_inc  )  const [inline, inherited]
 

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 337 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::CF_input_frame_rate, and INLINE.

bool SomethingToEggConverter::has_input_frame_rate  )  const [inline, inherited]
 

Returns true if the frame rate has been explicitly specified via set_input_frame_rate(), or false otherwise.

Definition at line 481 of file somethingToEggConverter.I.

References SomethingToEggConverter::_path_replace, get_texture_path(), and INLINE.

bool SomethingToEggConverter::has_neutral_frame  )  const [inline, inherited]
 

Returns true if the neutral frame has been explicitly specified via set_neutral_frame(), or false otherwise.

Definition at line 404 of file somethingToEggConverter.I.

References SomethingToEggConverter::_output_frame_rate, SomethingToEggConverter::has_output_frame_rate(), and nassertr.

Referenced by SomethingToEggConverter::clear_end_frame(), and MayaToEggConverter::close_api().

bool SomethingToEggConverter::has_output_frame_rate  )  const [inline, inherited]
 

Returns true if the frame rate has been explicitly specified via set_output_frame_rate(), or false otherwise.

Definition at line 552 of file somethingToEggConverter.I.

Referenced by SomethingToEggConverter::has_neutral_frame().

bool SomethingToEggConverter::has_start_frame  )  const [inline, inherited]
 

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 183 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, and SomethingToEggConverter::CF_end_frame.

Referenced by SomethingToEggConverter::get_character_name().

SomethingToEggConverter * FltToEggConverter::make_copy void   )  [virtual]
 

Allocates and returns a new copy of the converter.

Implements SomethingToEggConverter.

Definition at line 94 of file fltToEggConverter.cxx.

PT_EggTexture FltToEggConverter::make_egg_texture const FltTexture flt_texture  )  [private]
 

Makes a new EggTexture for the indicated FltTexture, or returns a pointer to one previously made for the same FltTexture.

Definition at line 862 of file fltToEggConverter.cxx.

References FltTexture::IF_i_16, FltTexture::IF_ia_12, FltTexture::IF_ia_8, FltTexture::IF_rgb_5, FltTexture::IF_rgba_12, FltTexture::IF_rgba_4, and FltTexture::IF_rgba_8.

PT_EggVertex FltToEggConverter::make_egg_vertex const FltVertex flt_vertex  )  [private]
 

Makes a new EggVertex for the indicated FltVertex.

The vertex is not automatically added to the vertex pool.

Definition at line 830 of file fltToEggConverter.cxx.

bool FltToEggConverter::parse_comment const string &  comment,
const string &  name,
EggNode egg_node
[private]
 

Scans the comment on this record for " { ...

}" and parses the enclosed string as if it appeared in the egg file. Returns true on success, false on syntax error (in which case _error is also set to true).

Definition at line 750 of file fltToEggConverter.cxx.

References _textures, FltTexture::MN_bicubic, FltTexture::MN_bicubic_gequal, FltTexture::MN_bicubic_lequal, FltTexture::MN_bilinear, FltTexture::MN_bilinear_gequal, FltTexture::MN_bilinear_lequal, FltTexture::MN_mipmap_bilinear, FltTexture::MN_mipmap_linear, FltTexture::MN_mipmap_point, FltTexture::MN_mipmap_trilinear, FltTexture::MN_OB_mipmap, FltTexture::MN_point, and PT_EggTexture.

bool FltToEggConverter::parse_comment const FltTexture flt_texture,
EggNode egg_node
[private]
 

Scans the comment on this record for " { ...

}" and parses the enclosed string as if it appeared in the egg file. Returns true on success, false on syntax error (in which case _error is also set to true).

Definition at line 728 of file fltToEggConverter.cxx.

bool FltToEggConverter::parse_comment const FltBead flt_bead,
EggNode egg_node
[private]
 

Scans the comment on this record for " { ...

}" and parses the enclosed string as if it appeared in the egg file. Returns true on success, false on syntax error (in which case _error is also set to true).

Definition at line 707 of file fltToEggConverter.cxx.

References FltVertex::_has_normal, FltVertex::_has_uv, FltVertex::_normal, FltVertex::_pos, FltVertex::_uv, FltVertex::get_color(), FltVertex::has_color(), LCAST, and PT_EggVertex.

bool FltToEggConverter::parse_comment const FltBeadID flt_bead,
EggNode egg_node
[private]
 

Scans the comment on this record for " { ...

}" and parses the enclosed string as if it appeared in the egg file. Returns true on success, false on syntax error (in which case _error is also set to true).

Definition at line 686 of file fltToEggConverter.cxx.

Referenced by convert_lod().

void SomethingToEggConverter::set_animation_convert AnimationConvert  animation_convert  )  [inline, inherited]
 

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 93 of file somethingToEggConverter.I.

void SomethingToEggConverter::set_character_name const string &  character_name  )  [inline, inherited]
 

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 127 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::CF_start_frame, and INLINE.

void SomethingToEggConverter::set_egg_data EggData egg_data,
bool  owns_egg_data
[inherited]
 

Sets the egg data that will be filled in when convert_file() is called.

This must be called before convert_file(). If owns_egg_data is true, the egg_data will be deleted when the converter destructs. (We don't use the reference counting on EggData, to allow static EggDatas to be passed in.)

Definition at line 102 of file somethingToEggConverter.cxx.

References SomethingToEggConverter::_allow_errors, SomethingToEggConverter::_error, EggGroupNode::add_child(), SomethingToEggConverter::convert_file(), SomethingToEggConverter::get_egg_data(), SomethingToEggConverter::make_copy(), nout, EggData::set_coordinate_system(), Filename::set_extension(), and EggGroupNode::steal_children().

Referenced by SomethingToEggConverter::set_input_frame_rate().

void SomethingToEggConverter::set_end_frame double  end_frame  )  [inline, inherited]
 

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 238 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, and SomethingToEggConverter::CF_frame_inc.

Referenced by SomethingToEgg::apply_units_scale().

void SomethingToEggConverter::set_frame_inc double  frame_inc  )  [inline, inherited]
 

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 317 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_input_frame_rate, SomethingToEggConverter::CF_input_frame_rate, and INLINE.

void SomethingToEggConverter::set_input_frame_rate double  input_frame_rate  )  [inline, inherited]
 

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 463 of file somethingToEggConverter.I.

References INLINE, NULL, and SomethingToEggConverter::set_egg_data().

void SomethingToEggConverter::set_merge_externals bool  merge_externals  )  [inline, inherited]
 

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 624 of file somethingToEggConverter.I.

void SomethingToEggConverter::set_neutral_frame double  neutral_frame  )  [inline, inherited]
 

Specifies the frame of animation to represent the neutral pose of the model.

Definition at line 386 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::CF_output_frame_rate, and INLINE.

void SomethingToEggConverter::set_output_frame_rate double  output_frame_rate  )  [inline, inherited]
 

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 534 of file somethingToEggConverter.I.

void SomethingToEggConverter::set_path_replace PathReplace path_replace  )  [inline, inherited]
 

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 36 of file somethingToEggConverter.I.

References SomethingToEggConverter::_path_replace, and INLINE.

void SomethingToEggConverter::set_start_frame double  start_frame  )  [inline, inherited]
 

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 163 of file somethingToEggConverter.I.

References SomethingToEggConverter::_control_flags, SomethingToEggConverter::_end_frame, SomethingToEggConverter::CF_end_frame, and INLINE.

void FltToEggConverter::setup_geometry const FltGeometry flt_geom,
FltToEggLevelState state,
EggPrimitive egg_prim,
EggVertexPool egg_vpool,
const EggVertices vertices
[private]
 

Applies the state indicated in the FltGeometry record to the indicated EggPrimitive and all of its indicated vertices, and then officially adds the vertices to the vertex pool and to the primitive, and adds the primitive to its appropriate parent.

Definition at line 500 of file fltToEggConverter.cxx.

References Colorf, EggVertex::get_color(), and EggVertex::set_color().


Member Data Documentation

bool SomethingToEggConverter::_allow_errors [inherited]
 

Definition at line 127 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::set_egg_data().

AnimationConvert SomethingToEggConverter::_animation_convert [protected, inherited]
 

Definition at line 132 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::get_path_replace().

string SomethingToEggConverter::_character_name [protected, inherited]
 

Definition at line 133 of file somethingToEggConverter.h.

Referenced by MayaToEggConverter::close_api(), and MayaToEggConverter::convert_flip().

bool FltToEggConverter::_compose_transforms
 

Definition at line 81 of file fltToEggConverter.h.

int SomethingToEggConverter::_control_flags [protected, inherited]
 

Definition at line 148 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::clear_frame_inc(), SomethingToEggConverter::clear_start_frame(), SomethingToEggConverter::get_animation_convert(), SomethingToEggConverter::get_end_frame(), SomethingToEggConverter::get_start_frame(), SomethingToEggConverter::has_end_frame(), SomethingToEggConverter::has_frame_inc(), SomethingToEggConverter::has_start_frame(), SomethingToEggConverter::set_character_name(), SomethingToEggConverter::set_end_frame(), SomethingToEggConverter::set_frame_inc(), SomethingToEggConverter::set_neutral_frame(), and SomethingToEggConverter::set_start_frame().

EggData* SomethingToEggConverter::_egg_data [protected, inherited]
 

Definition at line 152 of file somethingToEggConverter.h.

Referenced by XFileToEggConverter::close(), LwoToEggConverter::convert_file(), convert_file(), and SomethingToEggConverter::~SomethingToEggConverter().

double SomethingToEggConverter::_end_frame [protected, inherited]
 

Definition at line 135 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::get_start_frame(), and SomethingToEggConverter::set_start_frame().

bool SomethingToEggConverter::_error [protected, inherited]
 

Definition at line 155 of file somethingToEggConverter.h.

Referenced by LwoToEggConverter::convert_file(), SomethingToEggConverter::set_egg_data(), and SomethingToEggConverter::SomethingToEggConverter().

ConstPointerTo< FltHeader > FltToEggConverter::_flt_header [private]
 

Definition at line 113 of file fltToEggConverter.h.

Referenced by convert_flt().

double SomethingToEggConverter::_frame_inc [protected, inherited]
 

Definition at line 136 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::clear_start_frame(), and SomethingToEggConverter::has_end_frame().

double SomethingToEggConverter::_input_frame_rate [protected, inherited]
 

Definition at line 138 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::get_frame_inc(), and SomethingToEggConverter::set_frame_inc().

PointerTo< EggVertexPool > FltToEggConverter::_main_egg_vpool [private]
 

Definition at line 115 of file fltToEggConverter.h.

Referenced by convert_file(), and convert_flt().

bool SomethingToEggConverter::_merge_externals [protected, inherited]
 

Definition at line 150 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::clear_neutral_frame().

double SomethingToEggConverter::_neutral_frame [protected, inherited]
 

Definition at line 137 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::clear_end_frame(), and SomethingToEggConverter::get_end_frame().

double SomethingToEggConverter::_output_frame_rate [protected, inherited]
 

Definition at line 139 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::clear_frame_inc(), and SomethingToEggConverter::has_neutral_frame().

bool SomethingToEggConverter::_owns_egg_data [protected, inherited]
 

Definition at line 153 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::~SomethingToEggConverter().

PointerTo< PathReplace > SomethingToEggConverter::_path_replace [protected, inherited]
 

Definition at line 130 of file somethingToEggConverter.h.

Referenced by MayaToEggConverter::get_egg_table(), SomethingToEggConverter::get_input_frame_rate(), get_name(), SomethingToEggConverter::get_path_replace(), SomethingToEggConverter::has_input_frame_rate(), and SomethingToEggConverter::set_path_replace().

double SomethingToEggConverter::_start_frame [protected, inherited]
 

Definition at line 134 of file somethingToEggConverter.h.

Referenced by SomethingToEggConverter::get_animation_convert(), and SomethingToEggConverter::get_character_name().

Textures FltToEggConverter::_textures [private]
 

Definition at line 118 of file fltToEggConverter.h.

Referenced by convert_flt(), and parse_comment().


The documentation for this class was generated from the following files:
Generated on Fri May 2 03:26:58 2003 for Panda-Tool by doxygen1.3