47 XFileMesh(CoordinateSystem cs = CS_yup_left);
102 class SkinWeightsData {
104 LMatrix4d _matrix_offset;
105 std::string _joint_name;
108 typedef epvector<SkinWeightsData> SkinWeights;
109 SkinWeights _skin_weights;
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
A base class for nodes in the hierarchy that are not leaf nodes.
A base class for any of a number of kinds of geometry primitives: polygons, point lights,...
Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal.
A base class for all things which can have a name.
This is an abstract base class for an XFileNode which is also an XFileDataObject.
This represents a single face of an XFileMesh.
This represents an X file "material", which consists of a color, lighting, and/or texture specificati...
This is a collection of polygons; i.e.
void clear()
Empties all data from the mesh.
bool fill_mesh(XFileDataNode *obj)
Fills the structure based on the raw data from the X file's Mesh object.
bool fill_skin_weights(XFileDataNode *obj)
Fills the structure based on the raw data from the SkinWeights template.
bool fill_material_list(XFileDataNode *obj)
Fills the structure based on the raw data from the MeshMaterialList template.
bool has_uvs() const
Returns true if any of the vertices added to this mesh used a texture coordinate, false otherwise.
int add_vertex(EggVertex *egg_vertex, EggPrimitive *egg_prim)
Creates a new XFileVertex, if one does not already exist for the indicated vertex,...
bool fill_uvs(XFileDataNode *obj)
Fills the structure based on the raw data from the MeshTextureCoords template.
bool has_materials() const
Returns true if any of the faces added to this mesh used a real material, false otherwise.
XFileDataNode * make_x_mesh(XFileNode *x_parent, const std::string &suffix)
Creates an X structure corresponding to the mesh.
int get_num_materials() const
Returns the number of distinct materials associated with the mesh.
int add_normal(EggVertex *egg_vertex, EggPrimitive *egg_prim)
Creates a new XFileNormal, if one does not already exist for the indicated normal,...
bool fill_colors(XFileDataNode *obj)
Fills the structure based on the raw data from the MeshVertexColors template.
bool fill_mesh_child(XFileDataNode *obj)
Fills the structure based on one of the children of the Mesh object.
bool fill_normals(XFileDataNode *obj)
Fills the structure based on the raw data from the MeshNormals template.
XFileDataNode * make_x_material_list(XFileNode *x_mesh, const std::string &suffix)
Creates a MeshMaterialList table for the mesh.
XFileDataNode * make_x_colors(XFileNode *x_mesh, const std::string &suffix)
Creates a MeshVertexColors table for the mesh.
void add_polygon(EggPolygon *egg_poly)
Adds the indicated polygon to the mesh.
bool create_polygons(XFileToEggConverter *converter)
Creates a slew of EggPolygons according to the faces in the mesh, and adds them to the previously-ind...
void set_egg_parent(EggGroupNode *egg_parent)
Specifies the egg node that will eventually be the parent of this mesh, when create_polygons() is lat...
XFileDataNode * make_x_uvs(XFileNode *x_mesh, const std::string &suffix)
Creates a MeshTextureCoords table for the mesh.
bool has_colors() const
Returns true if any of the vertices or faces added to this mesh used a color, false otherwise.
XFileDataNode * make_x_normals(XFileNode *x_mesh, const std::string &suffix)
Creates a MeshNormals table for the mesh.
XFileMaterial * get_material(int n) const
Returns a pointer to the nth materials associated with the mesh.
int add_material(EggPrimitive *egg_prim)
Creates a new XFileMaterial, if one does not already exist for the indicated material,...
bool has_normals() const
Returns true if any of the vertices or faces added to this mesh used a normal, false otherwise.
A single node of an X file.
This represents a single normal associated with an XFileFace.
This represents a single vertex associated with an XFileFace.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.