Blender
V3.3
|
#include <GeomCleaner.h>
Public Member Functions | |
GeomCleaner () | |
~GeomCleaner () | |
Static Public Member Functions | |
static void | SortIndexedVertexArray (const float *iVertices, unsigned iVSize, const unsigned *iIndices, unsigned iISize, float **oVertices, unsigned **oIndices) |
static void | CompressIndexedVertexArray (const float *iVertices, unsigned iVSize, const unsigned *iIndices, unsigned iISize, float **oVertices, unsigned *oVSize, unsigned **oIndices) |
static void | SortAndCompressIndexedVertexArray (const float *iVertices, unsigned iVSize, const unsigned *iIndices, unsigned iISize, float **oVertices, unsigned *oVSize, unsigned **oIndices) |
static void | CleanIndexedVertexArray (const float *iVertices, unsigned iVSize, const unsigned *iIndices, unsigned iISize, float **oVertices, unsigned *oVSize, unsigned **oIndices) |
Definition at line 22 of file GeomCleaner.h.
|
inline |
Definition at line 24 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 an unsignedeger 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 183 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 an unsignedeger 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 75 of file GeomCleaner.cpp.
References v.
|
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 an unsignedeger 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 134 of file GeomCleaner.cpp.
References G, G_DEBUG_FREESTYLE, 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 an unsignedeger 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 32 of file GeomCleaner.cpp.