Functions | |
template<int N, bool A, typename T , typename V , typename IF , typename IS > | |
void | IndSimpSet::buildFromQuadMesh (const QuadMesh< N, A, T, V, IF > &quadMesh, IndSimpSet< N, 2, true, T, V, IS > *mesh) |
Build from a quadrilateral mesh. | |
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntForIter > | |
void | IndSimpSet::buildFromSubsetVertices (const IndSimpSet< N, M, A, T, V, IS > &in, IntForIter verticesBeginning, IntForIter verticesEnd, IndSimpSet< N, M, true, T, V, IS > *out) |
Make a mesh from a subset of vertices of a mesh. | |
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntForIter > | |
void | IndSimpSet::buildFromSubsetSimplices (const IndSimpSet< N, M, A, T, V, IS > &in, IntForIter simplicesBeginning, IntForIter simplicesEnd, IndSimpSet< N, M, true, T, V, IS > *out) |
Make a new mesh from the subset of simplices. | |
template<int N, int M, bool A, typename T , typename V , typename IS , class LSF > | |
void | IndSimpSet::buildFromVerticesInside (const IndSimpSet< N, M, A, T, V, IS > &in, const LSF &f, IndSimpSet< N, M, true, T, V, IS > *out) |
Make a mesh by selecting vertices from the input mesh that are inside the object. | |
template<int N, int M, bool A, typename T , typename V , typename IS , class LSF > | |
void | IndSimpSet::buildFromSimplicesInside (const IndSimpSet< N, M, A, T, V, IS > &in, const LSF &f, IndSimpSet< N, M, true, T, V, IS > *out) |
Make a mesh by selecting simplices from the input mesh that are inside the object. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator > | |
void | IndSimpSet::buildBoundary (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out, IntOutputIterator usedVertexIndices) |
Make a mesh that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace > | |
void | IndSimpSet::buildBoundary (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out) |
Make a mesh that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator > | |
void | IndSimpSet::buildBoundaryWithoutPacking (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out, IntOutputIterator incidentSimplices) |
Make a mesh that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace > | |
void | IndSimpSet::buildBoundaryWithoutPacking (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out) |
Make a mesh that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator1 , typename IntOutputIterator2 > | |
void | IndSimpSet::buildBoundaryOfComponentsWithoutPacking (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out, IntOutputIterator1 delimiterIterator, IntOutputIterator2 incidentSimplices) |
Make a mesh (separated into connected components) that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator > | |
void | IndSimpSet::buildBoundaryOfComponentsWithoutPacking (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out, IntOutputIterator delimiterIterator) |
Make a mesh (separated into connected components) that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator1 , typename IntOutputIterator2 > | |
void | IndSimpSet::buildBoundaryOfComponents (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out, IntOutputIterator1 delimiterIterator, IntOutputIterator2 incidentSimplices) |
Make a mesh (separated into connected components) that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator > | |
void | IndSimpSet::buildBoundaryOfComponents (const IndSimpSetIncAdj< N, M, A, T, V, ISimp > &in, IndSimpSet< N, M-1, true, T, V, IFace > *out, IntOutputIterator delimiterIterator) |
Make a mesh (separated into connected components) that is the boundary of the input mesh. | |
template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace > | |
void | IndSimpSet::centerPointMesh (const IndSimpSet< N, M-1, A, T, V, IFace > &boundary, IndSimpSet< N, M, true, T, V, ISimp > *mesh) |
Make a mesh by connecting the boundary nodes to a new center point. | |
template<int N, int M, typename T , typename V , typename IS , typename MeshInputIterator > | |
void | IndSimpSet::merge (MeshInputIterator beginning, MeshInputIterator end, IndSimpSet< N, M, true, T, V, IS > *out) |
Merge a range of meshes to make a single mesh. | |
template<int N, int M, bool A, typename T , typename V , typename IS > | |
void | IndSimpSet::merge2 (const IndSimpSet< N, M, A, T, V, IS > &a, const IndSimpSet< N, M, A, T, V, IS > &b, IndSimpSet< N, M, true, T, V, IS > *out) |
Merge two meshes to make a single mesh. |
These functions build indexed simplex sets from various inputs.
void buildBoundary | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out | |||
) | [related, inherited] |
Make a mesh that is the boundary of the input mesh.
in | The input mesh. | |
out | The output mesh. |
References IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundary().
void buildBoundary | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out, | |||
IntOutputIterator | usedVertexIndices | |||
) | [related, inherited] |
Make a mesh that is the boundary of the input mesh.
in | The input mesh. | |
out | The output mesh. | |
usedVertexIndices | The vertex indices that are used in the boundary. |
Referenced by IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundary().
void buildBoundaryOfComponents | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out, | |||
IntOutputIterator | delimiterIterator | |||
) | [related, inherited] |
Make a mesh (separated into connected components) that is the boundary of the input mesh.
in | The input mesh. | |
out | The output mesh. | |
delimiterIterator | The delimiters define the components. Its values are the semi-open index ranges. |
References IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryOfComponents().
void buildBoundaryOfComponents | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out, | |||
IntOutputIterator1 | delimiterIterator, | |||
IntOutputIterator2 | incidentSimplices | |||
) | [related, inherited] |
Make a mesh (separated into connected components) that is the boundary of the input mesh.
in | The input mesh. | |
out | The output mesh. | |
delimiterIterator | The delimiters define the components. Its values are the semi-open index ranges. | |
incidentSimplices | The incident simplex index of each boundary face is recorded in this output iterator. |
References IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryOfComponentsWithoutPacking(), and IndSimpSet< _N, _M, _A, T, V, IS >::pack().
Referenced by IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryOfComponents().
void buildBoundaryOfComponentsWithoutPacking | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out, | |||
IntOutputIterator | delimiterIterator | |||
) | [related, inherited] |
Make a mesh (separated into connected components) that is the boundary of the input mesh.
This function does not pack the output mesh. That is, it does not remove the unused interior vertices.
in | The input mesh. | |
out | The output mesh. | |
delimiterIterator | The delimiters define the components. Its values are the semi-open index ranges. |
References IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryOfComponentsWithoutPacking().
void buildBoundaryOfComponentsWithoutPacking | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out, | |||
IntOutputIterator1 | delimiterIterator, | |||
IntOutputIterator2 | incidentSimplices | |||
) | [related, inherited] |
Make a mesh (separated into connected components) that is the boundary of the input mesh.
This function does not pack the output mesh. That is, it does not remove the unused interior vertices.
in | The input mesh. | |
out | The output mesh. | |
delimiterIterator | The delimiters define the components. Its values are the semi-open index ranges. | |
incidentSimplices | The incident simplex index of each boundary face is recorded in this output iterator. |
Referenced by IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryOfComponents(), and IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryOfComponentsWithoutPacking().
void buildBoundaryWithoutPacking | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out | |||
) | [related, inherited] |
Make a mesh that is the boundary of the input mesh.
This function does not pack the output mesh. That is, it does not remove the unused interior vertices.
in | The input mesh. | |
out | The output mesh. |
References IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryWithoutPacking().
void buildBoundaryWithoutPacking | ( | const IndSimpSetIncAdj< N, M, A, T, V, ISimp > & | in, | |
IndSimpSet< N, M-1, true, T, V, IFace > * | out, | |||
IntOutputIterator | incidentSimplices | |||
) | [related, inherited] |
Make a mesh that is the boundary of the input mesh.
This function does not pack the output mesh. That is, it does not remove the unused interior vertices.
in | The input mesh. | |
out | The output mesh. | |
incidentSimplices | The incident simplex index of each boundary face is recorded in this output iterator. |
Referenced by IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryWithoutPacking().
void buildFromQuadMesh | ( | const QuadMesh< N, A, T, V, IF > & | quadMesh, | |
IndSimpSet< N, 2, true, T, V, IS > * | mesh | |||
) | [related, inherited] |
Build from a quadrilateral mesh.
quadMesh | The input quadrilateral mesh. | |
mesh | The output simplicial mesh. |
Each quadrilateral is split to form two triangles. In the splitting, the shorter diagonal is chosen.
void buildFromSimplicesInside | ( | const IndSimpSet< N, M, A, T, V, IS > & | in, | |
const LSF & | f, | |||
IndSimpSet< N, M, true, T, V, IS > * | out | |||
) | [related, inherited] |
Make a mesh by selecting simplices from the input mesh that are inside the object.
in | is the input mesh. | |
f | is the level set function that describes the object. Points inside/outside the object have negative/positive values. | |
out | is the output mesh. |
LSF
is the level set functor. A simplex is determined to be inside the object if its centroid is inside.
void buildFromSubsetSimplices | ( | const IndSimpSet< N, M, A, T, V, IS > & | in, | |
IntForIter | simplicesBeginning, | |||
IntForIter | simplicesEnd, | |||
IndSimpSet< N, M, true, T, V, IS > * | out | |||
) | [related, inherited] |
Make a new mesh from the subset of simplices.
in | is the input mesh. | |
simplicesBeginning | is the beginning of the range of simplex indices. | |
simplicesEnd | is the end of the range of simplex indices. | |
out | is the output mesh. |
IntForIter
is an integer forward iterator.
void buildFromSubsetVertices | ( | const IndSimpSet< N, M, A, T, V, IS > & | in, | |
IntForIter | verticesBeginning, | |||
IntForIter | verticesEnd, | |||
IndSimpSet< N, M, true, T, V, IS > * | out | |||
) | [related, inherited] |
Make a mesh from a subset of vertices of a mesh.
in | The input mesh. | |
verticesBeginning | The beginning of the range of vertex indices. | |
verticesEnd | The end of the range of vertex indices. | |
out | The output mesh. |
IntForIter
is an integer forward iterator.
void buildFromVerticesInside | ( | const IndSimpSet< N, M, A, T, V, IS > & | in, | |
const LSF & | f, | |||
IndSimpSet< N, M, true, T, V, IS > * | out | |||
) | [related, inherited] |
Make a mesh by selecting vertices from the input mesh that are inside the object.
in | is the input mesh. | |
f | is the level set function that describes the object. Points inside/outside the object have negative/positive values. | |
out | is the output mesh. |
LSF
is the level set functor.
void centerPointMesh | ( | const IndSimpSet< N, M-1, A, T, V, IFace > & | boundary, | |
IndSimpSet< N, M, true, T, V, ISimp > * | mesh | |||
) | [related, inherited] |
Make a mesh by connecting the boundary nodes to a new center point.
boundary | The input boundary mesh. | |
mesh | The output solid mesh. |
void merge | ( | MeshInputIterator | beginning, | |
MeshInputIterator | end, | |||
IndSimpSet< N, M, true, T, V, IS > * | out | |||
) | [related, inherited] |
Merge a range of meshes to make a single mesh.
beginning | The beginning of a range of meshes. | |
end | The end of a range of meshes. | |
out | The output mesh. |
The meshes are simply concatenated. Duplicate vertices (if any) are not removed.
void merge2 | ( | const IndSimpSet< N, M, A, T, V, IS > & | a, | |
const IndSimpSet< N, M, A, T, V, IS > & | b, | |||
IndSimpSet< N, M, true, T, V, IS > * | out | |||
) | [related, inherited] |
Merge two meshes to make a single mesh.
a | The first input mesh. | |
b | The second input mesh. | |
out | The output mesh. |
The meshes are simply concatenated. Duplicate vertices (if any) are not removed.