#include <FCDGeometryPolygons.h>
Inheritance diagram for FCDGeometryPolygons:
Public Member Functions | |
FCDGeometryPolygons (FCDocument *document, FCDGeometryMesh *parent) | |
Constructor: do not use directly. | |
virtual | ~FCDGeometryPolygons () |
Destructor: do not use directly. | |
FCDGeometryMesh * | GetParent () |
Retrieves the geometry that contains this polygons. | |
const FCDGeometryMesh * | GetParent () const |
See above. | |
const UInt32List & | GetFaceVertexCounts () const |
Retrieves the list of face-vertex counts. | |
size_t | GetHoleCount () const |
Retrieves the number of holes within the faces of the polygon set. | |
size_t | GetFaceCount () const |
Retrieves the number of faces within the polygon set. | |
size_t | GetFaceOffset () const |
Retrieves the number of faces which appear before this polygon set within the geometric mesh. | |
size_t | GetFaceVertexCount () const |
Retrieves the total number of face-vertex pairs within the polygon set. | |
size_t | GetFaceVertexCount (size_t index) const |
Retrieves the number of face-vertex pairs for a given face. | |
size_t | GetFaceVertexOffset () const |
Retrieves the total number of face-vertex pairs which appear before this polygon set within the geometric mesh. | |
size_t | GetHoleOffset () const |
Retrieves the number of holes which appear before this polygon set. | |
size_t | GetFaceVertexOffset (size_t index) const |
Retrieves the number of face-vertex pairs which appear before a given face within the polygon set. | |
void | SetFaceOffset (size_t offset) |
[INTERNAL] Sets the number of faces in previous polygon sets. | |
void | SetFaceVertexOffset (size_t offset) |
[INTERNAL] Sets the number of face-vertex pairs in previous polygon sets. | |
void | SetHoleOffset (size_t offset) |
[INTERNAL] Sets the number of holes in previous polygon sets. | |
void | AddFace (uint32 degree) |
Creates a new face. | |
void | RemoveFace (size_t index) |
Removes a face. | |
FCDGeometryPolygonsInputList & | GetInputs () |
Retrieves the list of polygon set inputs. | |
const FCDGeometryPolygonsInputList & | GetInputs () const |
See above. | |
size_t | GetInputCount () const |
Retrieves the number of polygon set inputs. | |
FCDGeometryPolygonsInput * | GetInput (size_t index) |
Retrieves a specific polygon set input. | |
const FCDGeometryPolygonsInput * | GetInput (size_t index) const |
See above. | |
FCDGeometryPolygonsInput * | AddInput (FCDGeometrySource *source, uint32 offset) |
Creates a new polygon set input. | |
void | ReleaseInput (FCDGeometryPolygonsInput *input) |
Deletes a polygon set input. | |
const UInt32List & | GetHoleFaces () const |
Retrieves the list of entries within the face-vertex count list that are considered holes. | |
size_t | GetHoleCountBefore (size_t index) const |
Retrieves the number of holes within faces of the polygon set that appear before the given face index. | |
size_t | GetHoleCount (size_t index) const |
Retrieves the number of holes within a given face. | |
FCDGeometryPolygonsInput * | FindInput (FUDaeGeometryInput::Semantic semantic) |
Retrieves the first polygon set input found that has the given data type. | |
const FCDGeometryPolygonsInput * | FindInput (FUDaeGeometryInput::Semantic semantic) const |
See above. | |
FCDGeometryPolygonsInput * | FindInput (FCDGeometrySource *source) |
Retrieves the polygon set input that points towards a given data source. | |
const FCDGeometryPolygonsInput * | FindInput (const FCDGeometrySource *source) const |
See above. | |
FCDGeometryPolygonsInput * | FindInput (const string &sourceId) |
[INTERNAL] Retrieves the polygon set input that points towards a given data source. | |
void | FindInputs (FUDaeGeometryInput::Semantic semantic, FCDGeometryPolygonsInputList &inputs) |
Retrieves all the polygon set inputs that have the given data type. | |
UInt32List * | FindIndicesForIdx (uint32 idx) |
Retrieves the tessellation indices for a given polygon set input offset. | |
const UInt32List * | FindIndicesForIdx (uint32 idx) const |
See above. | |
UInt32List * | FindIndices (FCDGeometrySource *source) |
Retrieves the first tessellation index list for a given data source. | |
const UInt32List * | FindIndices (const FCDGeometrySource *source) const |
See above. | |
UInt32List * | FindIndices (FCDGeometryPolygonsInput *input) |
Retrieves the tessellation indices for a given polygon set input. | |
const UInt32List * | FindIndices (const FCDGeometryPolygonsInput *input) const |
See above. | |
const fstring & | GetMaterialSemantic () const |
Retrieves the symbolic name for the material used on this polygon set. | |
void | SetMaterialSemantic (const fchar *semantic) |
Sets a symbolic name for the material used on this polygon set. | |
void | SetMaterialSemantic (const fstring &semantic) |
See above. | |
void | Triangulate () |
Triangulates the polygon set. | |
void | Recalculate () |
[INTERNAL] Recalculates the buffered offset and count values for this polygon set. | |
FUStatus | LoadFromXML (xmlNode *polygonNode) |
[INTERNAL] Reads in the polygon set element from a given COLLADA XML tree node. | |
xmlNode * | WriteToXML (xmlNode *parentNode) const |
[INTERNAL] Writes out the correct polygon set element to the given COLLADA XML tree node. | |
FCDGeometryPolygons * | Clone (FCDGeometryMesh *cloneParent) |
[INTERNAL] Creates a copy of this mesh. |
Each polygon set contains a list of inputs and the tessellation information to make polygons out of the data and indices of the input. FCollada supports triangle lists as well as polygon lists and lists of polygons with holes. This implies that each face has an undeterminate number of vertices. The tessellation information creates polygons, but may also creates holes within the polygons.
|
Constructor: do not use directly. Instead, use the FCDGeometryMesh::AddPolygons function to create new polygon sets.
|
|
Destructor: do not use directly. The mesh which contains this polygon set will handle its release. |
|
Creates a new face. Enough indices to fill the face will be added to the polygon set inputs: you will want to overwrite those, as they will all be set to zero.
|
|
Creates a new polygon set input.
|
|
[INTERNAL] Creates a copy of this mesh. You should use the FCDGeometry::Clone function instead of this function. You will need to release the cloned entity.
|
|
Retrieves the tessellation indices for a given polygon set input.
|
|
Retrieves the first tessellation index list for a given data source.
|
|
Retrieves the tessellation indices for a given polygon set input offset.
|
|
[INTERNAL] Retrieves the polygon set input that points towards a given data source.
|
|
Retrieves the polygon set input that points towards a given data source.
|
|
Retrieves the first polygon set input found that has the given data type.
|
|
Retrieves all the polygon set inputs that have the given data type.
|
|
Retrieves the number of faces within the polygon set.
|
|
Retrieves the number of faces which appear before this polygon set within the geometric mesh. This value is useful when traversing all the faces of a geometric mesh.
|
|
Retrieves the number of face-vertex pairs for a given face. This value includes face-vertex pairs that create the polygon and its holes.
|
|
Retrieves the total number of face-vertex pairs within the polygon set. This value is the total of all the values within the face-vertex count list. Do remember that the list of face-vertex pairs includes holes.
|
|
Retrieves the list of face-vertex counts. Each face within the polygon set has one or more entry within this list, depending on the number of holes within that face. Each face-vertex count indicates the number of ordered indices within the polygon set inputs that are used to generate a face or its holes. To find out if a face-vertex count represents a face or its holes, check the hole-faces list retrieved using the GetHoleFaces function. Indirectly, the face-vertex count indicates the degree of the polygon.
|
|
Retrieves the number of face-vertex pairs which appear before a given face within the polygon set. This value is useful when doing per-vertex mesh operations within the polygon set.
|
|
Retrieves the total number of face-vertex pairs which appear before this polygon set within the geometric mesh. This value is useful when traversing all the face-vertex pairs of a geometric mesh.
|
|
Retrieves the number of holes within a given face.
|
|
Retrieves the number of holes within the faces of the polygon set.
|
|
Retrieves the number of holes within faces of the polygon set that appear before the given face index. This value is useful when trying to access a specific face of a mesh, as holes and faces appear together within the face-vertex degree list.
|
|
Retrieves the list of entries within the face-vertex count list that are considered holes. COLLADA does not support holes within holes, so each entry within this list implies a hole within the previous face.
|
|
Retrieves the number of holes which appear before this polygon set. This value is useful when traversing all the face-vertex pairs of a geometric mesh. |
|
Retrieves a specific polygon set input.
|
|
Retrieves the number of polygon set inputs.
|
|
Retrieves the list of polygon set inputs.
|
|
Retrieves the symbolic name for the material used on this polygon set. Match this symbolic name within a FCDGeometryInstance to get the correct material instance.
|
|
Retrieves the geometry that contains this polygons.
|
|
[INTERNAL] Reads in the polygon set element from a given COLLADA XML tree node. COLLADA has multiple polygon set elements. The most common ones are <triangles> and <polylist>.
|
|
Deletes a polygon set input. This function releases the memory held by the polygon set input as well as moves the indices to another polygon set input with the same offset, if the offset is re-used.
|
|
Removes a face.
|
|
[INTERNAL] Sets the number of faces in previous polygon sets. Used by the FCDGeometryMesh::Recalculate function.
|
|
[INTERNAL] Sets the number of face-vertex pairs in previous polygon sets. Used by the FCDGeometryMesh::Recalculate function.
|
|
[INTERNAL] Sets the number of holes in previous polygon sets. Used by the FCDGeometryMesh::Recalculate function.
|
|
Sets a symbolic name for the material used on this polygon set. This symbolic name will be matched within a FCDGeometryInstance to assign the correct material.
|
|
Triangulates the polygon set. A simple fanning techique is currently used: holes will not be triangulated correctly. |
|
[INTERNAL] Writes out the correct polygon set element to the given COLLADA XML tree node. COLLADA has multiple polygon set elements. The most common ones are <triangles> and <polylist>.
|