|
Blender V4.3
|
#include <GeomCleaner.h>
Public Member Functions | |
| GeomCleaner () | |
| ~GeomCleaner () | |
Static Public Member Functions | |
| static void | SortIndexedVertexArray (const float *iVertices, uint iVSize, const uint *iIndices, uint iISize, float **oVertices, uint **oIndices) |
| static void | CompressIndexedVertexArray (const float *iVertices, uint iVSize, const uint *iIndices, uint iISize, float **oVertices, uint *oVSize, uint **oIndices) |
| static void | SortAndCompressIndexedVertexArray (const float *iVertices, uint iVSize, const uint *iIndices, uint iISize, float **oVertices, uint *oVSize, uint **oIndices) |
| static void | CleanIndexedVertexArray (const float *iVertices, uint iVSize, const uint *iIndices, uint iISize, float **oVertices, uint *oVSize, uint **oIndices) |
Definition at line 24 of file GeomCleaner.h.
|
inline |
Definition at line 26 of file GeomCleaner.h.
|
inline |
Definition at line 27 of file GeomCleaner.h.
|
static |
Cleans an indexed vertex array. (Identical to SortAndCompress except that we use here a hash table to create the new array.) iVertices The vertex array to sort then compress. It is organized as a float series of vertex coordinates: XYZXYZXYZ... iVSize The size of iVertices array. iIndices The array containing the vertex indices (used to refer to the vertex coordinates in an indexed face). Each element is a uint multiple of 3. iISize The size of iIndices array oVertices The vertex array, result of the sorting-compression. The array is organized as a 3-float series giving the vertices coordinates: XYZXYZXYZ... oVSize The size of oVertices. oIndices The indices array, reorganized to match the sorted and compressed oVertices array.
Definition at line 187 of file GeomCleaner.cpp.
References v.
Referenced by Freestyle::BlenderFileLoader::insertShapeNode().
|
static |
Compress a SORTED indexed vertex array by eliminating multiple appearing occurrences of a single vertex. iVertices The SORTED vertex array to compress. It is organized as a float series of vertex coordinates: XYZXYZXYZ... iVSize The size of iVertices array. iIndices The array containing the vertex indices (used to refer to the vertex coordinates in an indexed face). Each element is a uint multiple of 3. iISize The size of iIndices array oVertices The vertex array, result of the compression. The array is organized as a 3-float series giving the vertices coordinates: XYZXYZXYZ... oVSize The size of oVertices. oIndices The indices array, reorganized to match the compressed oVertices array.
Definition at line 79 of file GeomCleaner.cpp.
References v.
Referenced by SortAndCompressIndexedVertexArray().
|
static |
Sorts and compress an array of indexed vertices. iVertices The vertex array to sort then compress. It is organized as a float series of vertex coordinates: XYZXYZXYZ... iVSize The size of iVertices array. iIndices The array containing the vertex indices (used to refer to the vertex coordinates in an indexed face). Each element is a uint multiple of 3. iISize The size of iIndices array oVertices The vertex array, result of the sorting-compression. The array is organized as a 3-float series giving the vertices coordinates: XYZXYZXYZ... oVSize The size of oVertices. oIndices The indices array, reorganized to match the sorted and compressed oVertices array.
Definition at line 138 of file GeomCleaner.cpp.
References CompressIndexedVertexArray(), G, G_DEBUG_FREESTYLE, printf, SortIndexedVertexArray(), Freestyle::Chronometer::start(), and Freestyle::Chronometer::stop().
|
static |
Sorts an array of Indexed vertices iVertices Array of vertices to sort. It is organized as a float series of vertex coordinates: XYZXYZXYZ... iVSize The size of iVertices array. iIndices The array containing the vertex indices (used to refer to the vertex coordinates in an indexed face). Each element is a uint multiple of 3. iISize The size of iIndices array oVertices Output of sorted vertices. A vertex v1 precedes another one v2 in this array if v1.x<v2.x, or v1.x=v2.x && v1.y < v2.y or v1.x=v2.y && v1.y=v2.y && v1.z < v2.z. The array is organized as a 3-float series giving the vertices coordinates: XYZXYZXYZ... oIndices Output corresponding to the iIndices array but reorganized in order to match the sorted vertex array.
Definition at line 36 of file GeomCleaner.cpp.
Referenced by SortAndCompressIndexedVertexArray().