#include <FCDGeometryMesh.h>
Inheritance diagram for FCDGeometryMesh:
Public Member Functions | |
FCDGeometryMesh (FCDocument *document, FCDGeometry *parent) | |
Contructor: do not use directly. | |
virtual | ~FCDGeometryMesh () |
Destructor: do not use directly. | |
size_t | GetFaceCount () const |
Retrieves the number of faces within the geometric mesh. | |
size_t | GetHoleCount () const |
Retrieves the number of holes within the faces of the geometric mesh. | |
size_t | GetFaceVertexCount () const |
Retrieves the total number of per-face vertices in the mesh. | |
bool | IsDoubleSided () const |
Retrieves whether the mesh should be treated as double-sided. | |
const string & | GetDaeId () const |
Retrieves the COLLADA id of the mesh. | |
size_t | GetPolygonsCount () const |
Retrieves the number of independent polygon groups. | |
FCDGeometryPolygons * | GetPolygons (size_t index) |
Retrieves a specific polygon group. | |
const FCDGeometryPolygons * | GetPolygons (size_t index) const |
See above. | |
FCDGeometryPolygons * | AddPolygons () |
Creates a new polygon group. | |
FCDGeometrySourceList & | GetVertexSources () |
[INTERNAL] Retrieves the list of per-vertex data sources. | |
const FCDGeometrySourceList & | GetVertexSources () const |
See above. | |
size_t | GetVertexSourceCount () const |
Retrieves the number of per-vertex data sources. | |
FCDGeometrySource * | GetVertexSource (size_t index) |
Retrieves a specific per-vertex data source. | |
const FCDGeometrySource * | GetVertexSource (size_t index) const |
See above. | |
FCDGeometrySource * | AddVertexSource () |
Creates a new per-vertex data source for this geometric mesh. | |
FCDGeometrySource * | FindSourceById (const string &id) |
[INTERNAL] Retrieves the data source that matches the given COLLADA id. | |
const FCDGeometrySource * | FindSourceById (const string &id) const |
See above. | |
FCDGeometrySource * | GetPositionSource () |
Retrieves the per-vertex data that specifically contains the vertex positions. | |
const FCDGeometrySource * | GetPositionSource () const |
See above. | |
size_t | GetSourceCount () const |
Retrieves the number of data sources contained within this geometric mesh. | |
FCDGeometrySource * | GetSource (size_t index) |
Retrieves a specific data source. | |
const FCDGeometrySource * | GetSource (size_t index) const |
See above. | |
FCDGeometrySource * | AddSource () |
Creates a new data source for this geometric mesh. | |
void | Triangulate () |
Triangulates the mesh. | |
void | Recalculate () |
[INTERNAL] Forces the recalculation of the hole count, vertex count, face-vertex counts and their offsets. | |
FCDGeometryMesh * | Clone (FloatList &newPositions, uint32 newPositionsStride, FloatList &newNormals, uint32 newNormalsStride) |
[INTERNAL] Creates a copy of this mesh. | |
FUStatus | LoadFromXML (xmlNode *meshNode) |
[INTERNAL] Reads in the <mesh> element from a given COLLADA XML tree node. | |
xmlNode * | WriteToXML (xmlNode *parentNode) const |
[INTERNAL] Writes out the <mesh> element to the given COLLADA XML tree node. |
A COLLADA geometric mesh is a list of vertices tied together in polygons. A set of per-vertex data is used to determine the vertices of the mesh. This data usually includes a single list: of vertex positions, but it may also contain per-vertex colors, per-vertex normals or per-vertex texture coordinates. The other data sources declare per-vertex-face data.
The faces of a mesh may be split across different groups, as they may have different materials assigned to them. The FCDGeometryPolygons objects contains one such group of faces.
|
Contructor: do not use directly. Use FCDGeometry::AddMesh instead.
|
|
Destructor: do not use directly. All geometric meshes are released with the geometry that they belong to. |
|
Creates a new polygon group. Each polygon group is represented within a FCDGeometryPolygons object. The new polygon group will be assigned all the existing per-vertex data sources. No material will be assigned to the new polygon group.
|
|
Creates a new data source for this geometric mesh. The new data source will not be added to any of the existing polygon groups.
|
|
Creates a new per-vertex data source for this geometric mesh. The per-vertex data source will be added to both the per-vertex data source list and the data source list. The new per-vertex data source will automatically be added to all the existing polygon groups.
|
|
[INTERNAL] Creates a copy of this mesh. You may use the FCDGeometry::Clone function instead of this function. Creates a full copy of the geometry, with the vertices overwritten by the given data: this is used when importing COLLADA 1.3 skin controllers. You will need to release the cloned entity.
|
|
[INTERNAL] Retrieves the data source that matches the given COLLADA id.
|
|
Retrieves the COLLADA id of the mesh. This is a shortcut to the parent geometry's COLLADA id.
|
|
Retrieves the number of faces within the geometric mesh.
|
|
Retrieves the total number of per-face vertices in the mesh. This function makes no assumption about the uniqueness of the per-face vertices.
|
|
Retrieves the number of holes within the faces of the geometric mesh. As one face may contain multiple holes, this value may be larger than the number of faces.
|
|
Retrieves a specific polygon group. Each polygon group is represented within a FCDGeometryPolygons object. An independent polygon group is usually created to assign a different material to different parts of the mesh or to assign partial texture coordinates and texture tangents to different parts of the mesh.
|
|
Retrieves the number of independent polygon groups. Each polygon group is represented within a FCDGeometryPolygons object. An independent polygon group is usually created to assign a different material to different parts of the mesh or to assign partial texture coordinates and texture tangents to different parts of the mesh.
|
|
Retrieves the per-vertex data that specifically contains the vertex positions. If there are more than one per-vertex data source that contains vertex positions, the first one is returned.
|
|
Retrieves a specific data source.
|
|
Retrieves the number of data sources contained within this geometric mesh.
|
|
Retrieves a specific per-vertex data source. All the per-vertex data sources are also included in the list of data sources.
|
|
Retrieves the number of per-vertex data sources. This number should always be lesser or equal to the number of data sources, as each per-vertex data source is also included within the list of data sources.
|
|
[INTERNAL] Retrieves the list of per-vertex data sources. There should usually be one per-vertex data source that contains positions. All the sources within this list are also present within the data source list.
|
|
Retrieves whether the mesh should be treated as double-sided. This flag does not belong to COLLADA but is exported at the geometric-level by ColladaMaya.
|
|
[INTERNAL] Reads in the <mesh> element from a given COLLADA XML tree node.
|
|
[INTERNAL] Forces the recalculation of the hole count, vertex count, face-vertex counts and their offsets. Since the counts and offsets are buffered at the geometric mesh object level, this function allows the polygon groups to force the recalculation of the buffered values, when they are modified. |
|
Triangulates the mesh. A simple fanning techique is currently used: holes will not be triangulated correctly. |
|
[INTERNAL] Writes out the <mesh> element to the given COLLADA XML tree node.
|