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

XFileMaker Class Reference

#include <xFileMaker.h>

List of all members.

Public Member Functions

 XFileMaker ()
 ~XFileMaker ()
bool open (const Filename &filename)
void close ()
bool add_tree (EggData &egg_data)

Private Types

typedef pmap< LPDIRECTXFILEDATA,
XFileMesh * > 
Meshes

Private Member Functions

bool add_node (EggNode *egg_node, LPDIRECTXFILEDATA dx_parent)
bool add_group (EggGroup *egg_group, LPDIRECTXFILEDATA dx_parent)
bool add_bin (EggBin *egg_bin, LPDIRECTXFILEDATA dx_parent)
bool add_polyset (EggBin *egg_bin, LPDIRECTXFILEDATA dx_parent)
bool recurse_nodes (EggGroupNode *egg_node, LPDIRECTXFILEDATA dx_parent)
bool create_object (LPDIRECTXFILEDATA &obj, REFGUID template_id, const string &name, const Datagram &dg)
bool create_frame (LPDIRECTXFILEDATA &obj, const string &name)
bool add_frame_transform (LPDIRECTXFILEDATA obj, const LMatrix4f &mat)
bool attach_and_release (LPDIRECTXFILEDATA obj, LPDIRECTXFILEDATA dx_parent)
XFileMeshget_mesh (LPDIRECTXFILEDATA dx_parent)
bool finalize_mesh (LPDIRECTXFILEDATA dx_parent)

Static Private Member Functions

string make_nice_name (const string &str)

Private Attributes

LPDIRECTXFILE _dx_file
LPDIRECTXFILESAVEOBJECT _dx_file_save
int _mesh_index
Meshes _meshes


Member Typedef Documentation

typedef pmap<LPDIRECTXFILEDATA, XFileMesh *> XFileMaker::Meshes [private]
 

Definition at line 84 of file xFileMaker.h.


Constructor & Destructor Documentation

XFileMaker::XFileMaker  ) 
 

Definition at line 45 of file xFileMaker.cxx.

References _dx_file, _dx_file_save, _mesh_index, and NULL.

XFileMaker::~XFileMaker  ) 
 

Definition at line 57 of file xFileMaker.cxx.

References close().


Member Function Documentation

bool XFileMaker::add_bin EggBin egg_bin,
LPDIRECTXFILEDATA  dx_parent
[private]
 

Definition at line 266 of file xFileMaker.cxx.

References add_polyset(), EggPolysetMaker::BN_polyset, and EggBin::get_bin_number().

Referenced by add_node().

bool XFileMaker::add_frame_transform LPDIRECTXFILEDATA  obj,
const LMatrix4f &  mat
[private]
 

Definition at line 367 of file xFileMaker.cxx.

References attach_and_release(), and create_object().

Referenced by add_group().

bool XFileMaker::add_group EggGroup egg_group,
LPDIRECTXFILEDATA  dx_parent
[private]
 

Definition at line 226 of file xFileMaker.cxx.

References add_frame_transform(), attach_and_release(), create_frame(), Namable::get_name(), EggTransform3d::get_transform(), EggTransform3d::has_transform(), LCAST, and recurse_nodes().

Referenced by add_node().

bool XFileMaker::add_node EggNode egg_node,
LPDIRECTXFILEDATA  dx_parent
[private]
 

Definition at line 178 of file xFileMaker.cxx.

References add_bin(), add_group(), attach_and_release(), create_frame(), DCAST, EggGroupNode::get_class_type(), EggGroup::get_class_type(), EggBin::get_class_type(), Namable::get_name(), TypedObject::is_of_type(), and recurse_nodes().

Referenced by recurse_nodes().

bool XFileMaker::add_polyset EggBin egg_bin,
LPDIRECTXFILEDATA  dx_parent
[private]
 

Definition at line 284 of file xFileMaker.cxx.

References XFileMesh::add_polygon(), EggGroupNode::begin(), DCAST_INTO_R, EggGroupNode::end(), get_mesh(), EggGroupNode::iterator, and EggGroupNode::remove_invalid_primitives().

Referenced by add_bin().

bool XFileMaker::add_tree EggData egg_data  ) 
 

Definition at line 150 of file xFileMaker.cxx.

References _meshes, finalize_mesh(), EggBinMaker::make_bins(), nassertr, NULL, and recurse_nodes().

Referenced by EggToX::run().

bool XFileMaker::attach_and_release LPDIRECTXFILEDATA  obj,
LPDIRECTXFILEDATA  dx_parent
[private]
 

Definition at line 390 of file xFileMaker.cxx.

References _dx_file_save, finalize_mesh(), nout, and NULL.

Referenced by add_frame_transform(), add_group(), add_node(), and finalize_mesh().

void XFileMaker::close  ) 
 

Definition at line 130 of file xFileMaker.cxx.

References _dx_file, _dx_file_save, and NULL.

Referenced by open(), EggToX::run(), and ~XFileMaker().

bool XFileMaker::create_frame LPDIRECTXFILEDATA &  obj,
const string &  name
[private]
 

Definition at line 357 of file xFileMaker.cxx.

References create_object().

Referenced by add_group(), and add_node().

bool XFileMaker::create_object LPDIRECTXFILEDATA &  obj,
REFGUID  template_id,
const string &  name,
const Datagram dg
[private]
 

Definition at line 327 of file xFileMaker.cxx.

References _dx_file_save, Datagram::get_data(), Datagram::get_length(), make_nice_name(), nout, and NULL.

Referenced by add_frame_transform(), create_frame(), and finalize_mesh().

bool XFileMaker::finalize_mesh LPDIRECTXFILEDATA  dx_parent  )  [private]
 

Definition at line 478 of file xFileMaker.cxx.

References _mesh_index, _meshes, attach_and_release(), create_object(), format_string(), XFileMesh::get_material(), XFileMesh::get_num_materials(), XFileMesh::has_colors(), XFileMesh::has_materials(), XFileMesh::has_normals(), XFileMaterial::has_texture(), XFileMesh::has_uvs(), XFileMesh::make_color_data(), XFileMaterial::make_material_data(), XFileMesh::make_material_list_data(), XFileMesh::make_mesh_data(), XFileMesh::make_normal_data(), XFileMaterial::make_texture_data(), and XFileMesh::make_uv_data().

Referenced by add_tree(), and attach_and_release().

XFileMesh * XFileMaker::get_mesh LPDIRECTXFILEDATA  dx_parent  )  [private]
 

Definition at line 456 of file xFileMaker.cxx.

References _meshes.

Referenced by add_polyset().

string XFileMaker::make_nice_name const string &  str  )  [static, private]
 

Definition at line 428 of file xFileMaker.cxx.

Referenced by create_object().

bool XFileMaker::open const Filename filename  ) 
 

Definition at line 69 of file xFileMaker.cxx.

References _dx_file, _dx_file_save, close(), D3DRM_XTEMPLATES, d3drm_xtemplates_length, nout, and Filename::to_os_specific().

Referenced by EggToX::run().

bool XFileMaker::recurse_nodes EggGroupNode egg_node,
LPDIRECTXFILEDATA  dx_parent
[private]
 

Definition at line 309 of file xFileMaker.cxx.

References add_node(), EggGroupNode::begin(), EggGroupNode::end(), and EggGroupNode::iterator.

Referenced by add_group(), add_node(), and add_tree().


Member Data Documentation

LPDIRECTXFILE XFileMaker::_dx_file [private]
 

Definition at line 79 of file xFileMaker.h.

Referenced by close(), open(), and XFileMaker().

LPDIRECTXFILESAVEOBJECT XFileMaker::_dx_file_save [private]
 

Definition at line 80 of file xFileMaker.h.

Referenced by attach_and_release(), close(), create_object(), open(), and XFileMaker().

int XFileMaker::_mesh_index [private]
 

Definition at line 82 of file xFileMaker.h.

Referenced by finalize_mesh(), and XFileMaker().

Meshes XFileMaker::_meshes [private]
 

Definition at line 85 of file xFileMaker.h.

Referenced by add_tree(), finalize_mesh(), and get_mesh().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 01:01:31 2003 for Panda-Tool by doxygen1.3