Builders

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.

Detailed Description

These functions build indexed simplex sets from various inputs.


Function Documentation

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace >
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.

Parameters:
in The input mesh.
out The output mesh.

References IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundary().

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator >
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.

Parameters:
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().

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator >
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.

Parameters:
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().

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator1 , typename IntOutputIterator2 >
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.

Parameters:
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().

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator >
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.

Parameters:
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().

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator1 , typename IntOutputIterator2 >
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.

Parameters:
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().

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace >
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.

Parameters:
in The input mesh.
out The output mesh.

References IndSimpSet< _N, _M, _A, T, V, IS >::buildBoundaryWithoutPacking().

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace , typename IntOutputIterator >
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.

Parameters:
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().

template<int N, bool A, typename T , typename V , typename IF , typename IS >
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.

Parameters:
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.

template<int N, int M, bool A, typename T , typename V , typename IS , class LSF >
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.

Parameters:
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.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntForIter >
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.

Parameters:
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.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntForIter >
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.

Parameters:
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.

template<int N, int M, bool A, typename T , typename V , typename IS , class LSF >
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.

Parameters:
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.

template<int N, int M, bool A, typename T , typename V , typename ISimp , typename IFace >
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.

Parameters:
boundary The input boundary mesh.
mesh The output solid mesh.
template<int N, int M, typename T , typename V , typename IS , typename MeshInputIterator >
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.

Parameters:
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.

template<int N, int M, bool A, typename T , typename V , typename IS >
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.

Parameters:
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.

Generated on Thu Jun 30 02:14:58 2016 for Computational Geometry Package by  doxygen 1.6.3