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

MayaToEggConverter Class Reference

#include <mayaToEggConverter.h>

Inheritance diagram for MayaToEggConverter:

SomethingToEggConverter List of all members.

Public Types

enum  TransformType {
  TT_invalid, TT_all, TT_model, TT_dcs,
  TT_none
}

Public Member Functions

 MayaToEggConverter (const string &program_name="")
 MayaToEggConverter (const MayaToEggConverter &copy)
virtual ~MayaToEggConverter ()
virtual SomethingToEggConvertermake_copy ()
virtual string get_name () const
virtual string get_extension () const
virtual bool convert_file (const Filename &filename)
bool convert_maya (bool from_selection)
bool open_api ()
void close_api ()
 PT (MayaApi) _maya

Static Public Member Functions

TransformType string_transform_type (const string &arg)

Public Attributes

MayaShaders _shaders
EggTextureCollection _textures
bool _polygon_output
double _polygon_tolerance
TransformType _transform_type

Private Types

typedef pmap< string, EggGroup * > Groups
typedef pmap< string, JointAnim * > Tables

Private Member Functions

bool convert_flip (double start_frame, double end_frame, double frame_inc, double output_frame_rate)
bool convert_char_model ()
bool convert_char_chan (double start_frame, double end_frame, double frame_inc, double output_frame_rate)
bool convert_hierarchy (EggGroupNode *egg_root)
bool process_model_node (const MDagPath &dag_path, EggGroupNode *egg_root)
bool process_chan_node (const MDagPath &dag_path, EggGroupNode *egg_root)
void get_transform (const MDagPath &dag_path, EggGroup *egg_group)
void make_nurbs_surface (const MDagPath &dag_path, MFnNurbsSurface &surface, EggGroup *group, EggGroupNode *egg_root)
EggNurbsCurvemake_trim_curve (const MFnNurbsCurve &curve, const string &nurbs_name, EggGroupNode *egg_group, int trim_curve_index)
void make_nurbs_curve (const MDagPath &dag_path, const MFnNurbsCurve &curve, EggGroup *group, EggGroupNode *egg_root)
void make_polyset (const MDagPath &dag_path, const MFnMesh &mesh, EggGroup *egg_group, EggGroupNode *egg_root, MayaShader *default_shader=NULL)
void make_locator (const MDagPath &dag_path, const MFnDagNode &dag_node, EggGroup *egg_group, EggGroupNode *egg_root)
bool get_vertex_weights (const MDagPath &dag_path, const MFnMesh &mesh, EggGroupNode *egg_root, pvector< EggGroup * > &joints, MFloatArray &weights)
EggGroupget_egg_group (const MDagPath &dag_path, EggGroupNode *egg_root)
EggGroupr_get_egg_group (const string &name, const MDagPath &dag_path, EggGroupNode *egg_root)
JointAnimget_egg_table (const MDagPath &dag_path, EggGroupNode *egg_root)
JointAnimget_egg_table (const string &name, EggGroupNode *egg_root)
void set_shader_attributes (EggPrimitive &primitive, const MayaShader &shader)
void apply_texture_properties (EggTexture &tex, const MayaShaderColorDef &color_def)
bool compare_texture_properties (EggTexture &tex, const MayaShaderColorDef &color_def)
bool reparent_decals (EggGroupNode *egg_parent)

Private Attributes

Groups _groups
Tables _tables
string _program_name
bool _from_selection

Member Typedef Documentation

typedef pmap<string, EggGroup *> MayaToEggConverter::Groups [private]
 

Definition at line 133 of file mayaToEggConverter.h.

typedef pmap<string, JointAnim *> MayaToEggConverter::Tables [private]
 

Definition at line 136 of file mayaToEggConverter.h.


Member Enumeration Documentation

enum MayaToEggConverter::TransformType
 

Enumeration values:
TT_invalid 
TT_all 
TT_model 
TT_dcs 
TT_none 

Definition at line 150 of file mayaToEggConverter.h.

Referenced by MayaToEgg::dispatch_transform_type().


Constructor & Destructor Documentation

MayaToEggConverter::MayaToEggConverter const string &  program_name = ""  ) 
 

Definition at line 83 of file mayaToEggConverter.cxx.

References _from_selection, _polygon_output, _polygon_tolerance, _transform_type, and TT_model.

Referenced by make_copy().

MayaToEggConverter::MayaToEggConverter const MayaToEggConverter &  copy  ) 
 

Definition at line 98 of file mayaToEggConverter.cxx.

MayaToEggConverter::~MayaToEggConverter  )  [virtual]
 

Definition at line 109 of file mayaToEggConverter.cxx.

References close_api().


Member Function Documentation

void MayaToEggConverter::apply_texture_properties EggTexture tex,
const MayaShaderColorDef color_def
[private]
 

Definition at line 1959 of file mayaToEggConverter.cxx.

References MayaShaderColorDef::_wrap_u, MayaShaderColorDef::_wrap_v, MayaShaderColorDef::compute_texture_matrix(), EggTexture::FT_linear, EggTexture::FT_linear_mipmap_linear, Texture::set_magfilter(), Texture::set_minfilter(), tex, EggTexture::WM_clamp, EggTexture::WM_repeat, and EggTexture::WrapMode.

Referenced by set_shader_attributes().

void MayaToEggConverter::close_api  ) 
 

Definition at line 319 of file mayaToEggConverter.cxx.

References _shaders, and MayaShaders::clear().

Referenced by ~MayaToEggConverter().

bool MayaToEggConverter::compare_texture_properties EggTexture tex,
const MayaShaderColorDef color_def
[private]
 

Definition at line 1986 of file mayaToEggConverter.cxx.

References MayaShaderColorDef::_wrap_u, MayaShaderColorDef::_wrap_v, MayaShaderColorDef::compute_texture_matrix(), tex, EggTexture::WM_clamp, EggTexture::WM_repeat, and EggTexture::WrapMode.

Referenced by set_shader_attributes().

bool MayaToEggConverter::convert_char_chan double  start_frame,
double  end_frame,
double  frame_inc,
double  output_frame_rate
[private]
 

Definition at line 398 of file mayaToEggConverter.cxx.

References MayaToEggConverter::JointAnim::_anim, SomethingToEggConverter::_character_name, MayaToEggConverter::JointAnim::_dag_path, _tables, EggXfmSAnim::add_data(), SomethingToEggConverter::get_egg_data(), get_transform(), nassertr, NULL, process_chan_node(), PT(), EggXfmSAnim::set_fps(), EggTable::set_table_type(), and EggTable::TT_bundle.

Referenced by convert_maya().

bool MayaToEggConverter::convert_char_model  )  [private]
 

Definition at line 375 of file mayaToEggConverter.cxx.

References SomethingToEggConverter::_character_name, convert_hierarchy(), EggGroup::DT_default, SomethingToEggConverter::get_egg_data(), SomethingToEggConverter::get_neutral_frame(), SomethingToEggConverter::has_neutral_frame(), and EggGroup::set_dart_type().

Referenced by convert_maya().

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

Implements SomethingToEggConverter.

Definition at line 157 of file mayaToEggConverter.cxx.

References SomethingToEggConverter::_character_name, convert_maya(), Filename::get_basename_wo_extension(), and open_api().

Referenced by MayaToEgg::run().

bool MayaToEggConverter::convert_flip double  start_frame,
double  end_frame,
double  frame_inc,
double  output_frame_rate
[private]
 

Definition at line 337 of file mayaToEggConverter.cxx.

References SomethingToEggConverter::_character_name, _groups, convert_hierarchy(), SomethingToEggConverter::get_egg_data(), EggGroup::set_switch_flag(), EggGroup::set_switch_fps(), and ostringstream::str().

Referenced by convert_maya().

bool MayaToEggConverter::convert_hierarchy EggGroupNode egg_root  )  [private]
 

Definition at line 493 of file mayaToEggConverter.cxx.

References egg_root, length, and process_model_node().

Referenced by convert_char_model(), convert_flip(), and convert_maya().

bool MayaToEggConverter::convert_maya bool  from_selection  ) 
 

Definition at line 186 of file mayaToEggConverter.cxx.

References SomethingToEggConverter::_animation_convert, SomethingToEggConverter::_egg_data, _from_selection, _groups, _shaders, _tables, _textures, AC_both, AC_chan, AC_flip, AC_model, AC_none, AC_pose, MayaShaders::clear(), EggTextureCollection::clear(), convert_char_chan(), convert_char_model(), convert_flip(), convert_hierarchy(), CS_default, SomethingToEggConverter::get_animation_convert(), EggData::get_coordinate_system(), SomethingToEggConverter::get_egg_data(), SomethingToEggConverter::get_end_frame(), SomethingToEggConverter::get_frame_inc(), SomethingToEggConverter::get_input_frame_rate(), SomethingToEggConverter::get_output_frame_rate(), SomethingToEggConverter::get_start_frame(), SomethingToEggConverter::has_end_frame(), SomethingToEggConverter::has_frame_inc(), SomethingToEggConverter::has_input_frame_rate(), SomethingToEggConverter::has_output_frame_rate(), SomethingToEggConverter::has_start_frame(), open_api(), reparent_decals(), and EggData::set_coordinate_system().

Referenced by MayaPview::convert(), and convert_file().

EggGroup * MayaToEggConverter::get_egg_group const MDagPath &  dag_path,
EggGroupNode egg_root
[private]
 

Definition at line 1668 of file mayaToEggConverter.cxx.

References egg_root, and r_get_egg_group().

Referenced by get_vertex_weights(), and process_model_node().

JointAnim* MayaToEggConverter::get_egg_table const string &  name,
EggGroupNode egg_root
[private]
 

MayaToEggConverter::JointAnim * MayaToEggConverter::get_egg_table const MDagPath &  dag_path,
EggGroupNode egg_root
[private]
 

Definition at line 1771 of file mayaToEggConverter.cxx.

References MayaToEggConverter::JointAnim::_anim, MayaToEggConverter::JointAnim::_dag_path, SomethingToEggConverter::_egg_data, MayaToEggConverter::JointAnim::_table, _tables, egg_root, EggData::get_coordinate_system(), NULL, and size_t.

Referenced by process_chan_node().

string MayaToEggConverter::get_extension  )  const [virtual]
 

Implements SomethingToEggConverter.

Definition at line 141 of file mayaToEggConverter.cxx.

string MayaToEggConverter::get_name  )  const [virtual]
 

Implements SomethingToEggConverter.

Definition at line 130 of file mayaToEggConverter.cxx.

void MayaToEggConverter::get_transform const MDagPath &  dag_path,
EggGroup egg_group
[private]
 

Definition at line 790 of file mayaToEggConverter.cxx.

References EggTransform3d::add_matrix(), EggTransform3d::add_translate(), EggGroup::BT_none, EggTransform3d::clear_transform(), EggGroup::DC_none, EggGroup::get_billboard_type(), EggGroup::get_dcs_type(), EggGroup::get_model_flag(), EggNode::get_node_frame_inv(), EggNode::get_parent(), EggNode::get_vertex_frame_inv(), NULL, transform, TT_all, TT_dcs, TT_invalid, TT_model, and TT_none.

Referenced by convert_char_chan(), and process_model_node().

bool MayaToEggConverter::get_vertex_weights const MDagPath &  dag_path,
const MFnMesh &  mesh,
EggGroupNode egg_root,
pvector< EggGroup * > &  joints,
MFloatArray &  weights
[private]
 

Definition at line 1567 of file mayaToEggConverter.cxx.

References egg_root, get_egg_group(), and weights.

Referenced by make_polyset().

SomethingToEggConverter * MayaToEggConverter::make_copy  )  [virtual]
 

Implements SomethingToEggConverter.

Definition at line 119 of file mayaToEggConverter.cxx.

References MayaToEggConverter().

void MayaToEggConverter::make_locator const MDagPath &  dag_path,
const MFnDagNode &  dag_node,
EggGroup egg_group,
EggGroupNode egg_root
[private]
 

Definition at line 1510 of file mayaToEggConverter.cxx.

References EggTransform3d::add_translate(), EggGroup::DC_net, EggNode::get_node_frame_inv(), get_vec3d_attribute(), and EggGroup::set_dcs_type().

Referenced by process_model_node().

void MayaToEggConverter::make_nurbs_curve const MDagPath &  dag_path,
const MFnNurbsCurve &  curve,
EggGroup group,
EggGroupNode egg_root
[private]
 

Definition at line 1198 of file mayaToEggConverter.cxx.

References _shaders, EggPrimitive::add_vertex(), assert, EggVertexPool::create_unique_vertex(), MayaShaders::find_shader_for_node(), EggNurbsCurve::get_num_cvs(), EggNode::get_vertex_frame_inv(), NULL, EggNurbsCurve::set_knot(), EggVertex::set_pos(), set_shader_attributes(), EggNurbsCurve::setup(), and v.

Referenced by process_model_node().

void MayaToEggConverter::make_nurbs_surface const MDagPath &  dag_path,
MFnNurbsSurface &  surface,
EggGroup group,
EggGroupNode egg_root
[private]
 

Definition at line 886 of file mayaToEggConverter.cxx.

References _polygon_tolerance, _shaders, EggNurbsSurface::_trims, EggPrimitive::add_vertex(), assert, EggVertexPool::create_unique_vertex(), egg_root, MayaShaders::find_shader_for_node(), EggNurbsSurface::get_num_cvs(), EggNurbsSurface::get_u_index(), EggNurbsSurface::get_v_index(), EggNode::get_vertex_frame_inv(), EggNurbsSurface::Loop, make_polyset(), make_trim_curve(), NULL, params, EggVertex::set_pos(), set_shader_attributes(), EggNurbsSurface::set_u_knot(), EggNurbsSurface::set_v_knot(), EggNurbsSurface::setup(), EggNurbsSurface::Trim, type, and v.

Referenced by process_model_node().

void MayaToEggConverter::make_polyset const MDagPath &  dag_path,
const MFnMesh &  mesh,
EggGroup egg_group,
EggGroupNode egg_root,
MayaShader default_shader = NULL
[private]
 

Definition at line 1287 of file mayaToEggConverter.cxx.

References SomethingToEggConverter::_animation_convert, MayaShader::_color, MayaShaderColorDef::_has_texture, _shaders, AC_model, EggPrimitive::add_vertex(), EggVertexPool::begin(), c, Colorf, EggVertexPool::create_unique_vertex(), egg_root, EggVertexPool::end(), MayaShaders::find_shader_for_shading_engine(), get_bool_attribute(), EggVertex::get_external_index(), EggNode::get_vertex_frame_inv(), get_vertex_weights(), MayaShaderColorDef::has_projection(), index, EggVertexPool::iterator, n, nassertv, NULL, p, MayaShaderColorDef::project_uv(), EggGroup::ref_vertex(), EggPrimitive::set_bface_flag(), EggAttributes::set_color(), EggVertex::set_external_index(), EggAttributes::set_normal(), EggVertex::set_pos(), set_shader_attributes(), EggAttributes::set_uv(), TexCoordd, and weights.

Referenced by make_nurbs_surface(), and process_model_node().

EggNurbsCurve * MayaToEggConverter::make_trim_curve const MFnNurbsCurve &  curve,
const string &  nurbs_name,
EggGroupNode egg_group,
int  trim_curve_index
[private]
 

Definition at line 1114 of file mayaToEggConverter.cxx.

References EggPrimitive::add_vertex(), assert, EggVertexPool::create_unique_vertex(), format_string(), EggNurbsCurve::get_num_cvs(), NULL, EggNurbsCurve::set_knot(), EggVertex::set_pos(), EggNurbsCurve::setup(), and v.

Referenced by make_nurbs_surface().

bool MayaToEggConverter::open_api  ) 
 

Definition at line 304 of file mayaToEggConverter.cxx.

References _program_name, and NULL.

Referenced by convert_file(), convert_maya(), and MayaToEgg::run().

bool MayaToEggConverter::process_chan_node const MDagPath &  dag_path,
EggGroupNode egg_root
[private]
 

Definition at line 754 of file mayaToEggConverter.cxx.

References egg_root, and get_egg_table().

Referenced by convert_char_chan().

bool MayaToEggConverter::process_model_node const MDagPath &  dag_path,
EggGroupNode egg_root
[private]
 

Definition at line 582 of file mayaToEggConverter.cxx.

References SomethingToEggConverter::_animation_convert, AC_model, egg_root, get_egg_group(), get_transform(), EggGroup::GT_joint, make_locator(), make_nurbs_curve(), make_nurbs_surface(), make_polyset(), NULL, and EggGroup::set_group_type().

Referenced by convert_hierarchy().

MayaToEggConverter::PT MayaApi   ) 
 

Referenced by convert_char_chan().

EggGroup * MayaToEggConverter::r_get_egg_group const string &  name,
const MDagPath &  dag_path,
EggGroupNode egg_root
[private]
 

Definition at line 1678 of file mayaToEggConverter.cxx.

References _groups, EggGroup::add_object_type(), EggGroup::BT_axis, EggGroup::BT_point_camera_relative, EggGroup::DC_default, egg_root, get_enum_attribute(), EggGroup::GT_instance, EggGroup::has_object_type(), NULL, EggGroup::remove_object_type(), EggGroup::set_billboard_type(), EggGroup::set_dcs_type(), EggGroup::set_group_type(), EggGroup::set_model_flag(), and size_t.

Referenced by get_egg_group().

bool MayaToEggConverter::reparent_decals EggGroupNode egg_parent  )  [private]
 

Definition at line 2026 of file mayaToEggConverter.cxx.

References EggGroupNode::begin(), DCAST, EggGroupNode::end(), EggGroupNode::get_class_type(), EggGroup::get_class_type(), Namable::get_name(), EggGroup::has_object_type(), TypedObject::is_of_type(), EggGroupNode::iterator, NULL, EggGroup::remove_object_type(), and EggGroup::set_decal_flag().

Referenced by convert_maya().

void MayaToEggConverter::set_shader_attributes EggPrimitive primitive,
const MayaShader shader
[private]
 

Definition at line 1836 of file mayaToEggConverter.cxx.

References MayaShader::_color, MayaShaderColorDef::_color_gain, MayaShaderColorDef::_has_texture, MayaShaderColorDef::_texture, _textures, MayaShader::_transparency, MayaShaderColorDef::_wrap_u, apply_texture_properties(), Colorf, compare_texture_properties(), EggTextureCollection::create_unique_texture(), EggTexture::E_tref_name, EggTexture::F_alpha, EggTexture::F_rgb, EggTexture::F_rgba, Filename::from_os_specific(), Namable::get_name(), MayaShader::get_rgba(), get_texture_path(), ImageBuffer::set_alpha_filename(), ImageBuffer::set_alpha_fullpath(), EggAttributes::set_color(), ImageBuffer::set_filename(), ImageBuffer::set_fullpath(), EggPrimitive::set_texture(), and tex.

Referenced by make_nurbs_curve(), make_nurbs_surface(), and make_polyset().

MayaToEggConverter::TransformType MayaToEggConverter::string_transform_type const string &  arg  )  [static]
 

Definition at line 2107 of file mayaToEggConverter.cxx.

References cmp_nocase(), TT_all, TT_dcs, TT_invalid, TT_model, and TT_none.

Referenced by MayaToEgg::dispatch_transform_type().


Member Data Documentation

bool MayaToEggConverter::_from_selection [private]
 

Definition at line 140 of file mayaToEggConverter.h.

Referenced by convert_maya(), and MayaToEggConverter().

Groups MayaToEggConverter::_groups [private]
 

Definition at line 134 of file mayaToEggConverter.h.

Referenced by convert_flip(), convert_maya(), and r_get_egg_group().

bool MayaToEggConverter::_polygon_output
 

Definition at line 147 of file mayaToEggConverter.h.

Referenced by MayaPview::convert(), MayaToEggConverter(), and MayaToEgg::run().

double MayaToEggConverter::_polygon_tolerance
 

Definition at line 148 of file mayaToEggConverter.h.

Referenced by make_nurbs_surface(), MayaToEggConverter(), and MayaToEgg::run().

string MayaToEggConverter::_program_name [private]
 

Definition at line 139 of file mayaToEggConverter.h.

Referenced by open_api().

MayaShaders MayaToEggConverter::_shaders
 

Definition at line 143 of file mayaToEggConverter.h.

Referenced by close_api(), convert_maya(), make_nurbs_curve(), make_nurbs_surface(), and make_polyset().

Tables MayaToEggConverter::_tables [private]
 

Definition at line 137 of file mayaToEggConverter.h.

Referenced by convert_char_chan(), convert_maya(), and get_egg_table().

EggTextureCollection MayaToEggConverter::_textures
 

Definition at line 144 of file mayaToEggConverter.h.

Referenced by convert_maya(), and set_shader_attributes().

TransformType MayaToEggConverter::_transform_type
 

Definition at line 157 of file mayaToEggConverter.h.

Referenced by MayaToEggConverter(), and MayaToEgg::run().


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