Set Operations

Functions

template<typename IntForIter , typename IntOutIter >
void determineComplementSetOfIndices (const int upperBound, IntForIter beginning, IntForIter end, IntOutIter indexIterator)
 Make the complement set of indices.
template<int N, int M, bool A, typename T , typename V , typename IS , class LSF , typename IntOutIter >
void IndSimpSet::determineVerticesInside (const IndSimpSet< N, M, A, T, V, IS > &mesh, const LSF &f, IntOutIter indexIterator)
 Determine the vertices that are inside the object.
template<int N, int M, bool A, typename T , typename V , typename IS , class LSF , typename IntOutIter >
void IndSimpSet::determineSimplicesInside (const IndSimpSet< N, M, A, T, V, IS > &mesh, const LSF &f, IntOutIter indexIterator)
 Determine the simplices that are inside the object.
template<int N, int M, bool A, typename T , typename V , typename IS , class UnaryFunction , typename IntOutIter >
void IndSimpSet::determineSimplicesThatSatisfyCondition (const IndSimpSet< N, M, A, T, V, IS > &mesh, const UnaryFunction &f, IntOutIter indexIterator)
 Determine the simplices which satisfy the specified condition.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void IndSimpSet::determineOverlappingSimplices (const IndSimpSet< N, M, A, T, V, IS > &mesh, const BBox< N, T > &domain, IntOutIter indexIterator)
 Determine the simplices whose bounding boxes overlap the domain.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void IndSimpSetIncAdj::determineSimplicesWithRequiredAdjacencies (const IndSimpSetIncAdj< N, M, A, T, V, IS > &mesh, int minRequiredAdjacencies, IntOutIter indexIterator)
 Add the simplices with at least the specified number of adjacencies to the set.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void IndSimpSetIncAdj::determineInteriorVertices (const IndSimpSetIncAdj< N, M, A, T, V, IS > &mesh, IntOutIter indexIterator)
 Add the interior vertex indices to the set.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void IndSimpSetIncAdj::determineBoundaryVertices (const IndSimpSetIncAdj< N, M, A, T, V, IS > &mesh, IntOutIter indexIterator)
 Add the boundary vertex indices to the set.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntInIter , typename IntOutIter >
void IndSimpSet::determineIncidentVertices (const IndSimpSet< N, M, A, T, V, IS > &mesh, IntInIter simplexIndicesBeginning, IntInIter simplexIndicesEnd, IntOutIter vertexIndicesIterator)
 Add the vertices which are incident to the simplices.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntInIter , typename IntOutIter >
void IndSimpSetIncAdj::determineIncidentSimplices (const IndSimpSetIncAdj< N, M, A, T, V, IS > &mesh, IntInIter vertexIndicesBeginning, IntInIter vertexIndicesEnd, IntOutIter simplexIndicesIterator)
 Add the simplices (simplex indices) which are incident to the vertices.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void IndSimpSetIncAdj::determineSimplicesInComponent (const IndSimpSetIncAdj< N, M, A, T, V, IS > &mesh, int index, IntOutIter indexIterator)
 Add the simplices in the component with the n_th simplex to the set.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutputIterator >
void IndSimpSetIncAdj::separateComponents (IndSimpSetIncAdj< N, M, A, T, V, IS > *mesh, IntOutputIterator delimiterIterator)
 Separate the connected components of the mesh.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutputIterator1 , typename IntOutputIterator2 >
void IndSimpSetIncAdj::separateComponents (IndSimpSetIncAdj< N, M, A, T, V, IS > *mesh, IntOutputIterator1 delimiterIterator, IntOutputIterator2 permutationIterator)
 Separate the connected components of the mesh.

Detailed Description

These functions build sets of vertices or simplices.


Function Documentation

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void determineBoundaryVertices ( const IndSimpSetIncAdj< N, M, A, T, V, IS > &  mesh,
IntOutIter  indexIterator 
) [related, inherited]

Add the boundary vertex indices to the set.

template<typename IntForIter , typename IntOutIter >
void determineComplementSetOfIndices ( const int  upperBound,
IntForIter  beginning,
IntForIter  end,
IntOutIter  indexIterator 
) [inline]

Make the complement set of indices.

begin and end form a range of indices in sorted order.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntInIter , typename IntOutIter >
void determineIncidentSimplices ( const IndSimpSetIncAdj< N, M, A, T, V, IS > &  mesh,
IntInIter  vertexIndicesBeginning,
IntInIter  vertexIndicesEnd,
IntOutIter  simplexIndicesIterator 
) [related, inherited]

Add the simplices (simplex indices) which are incident to the vertices.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntInIter , typename IntOutIter >
void determineIncidentVertices ( const IndSimpSet< N, M, A, T, V, IS > &  mesh,
IntInIter  simplexIndicesBeginning,
IntInIter  simplexIndicesEnd,
IntOutIter  vertexIndicesIterator 
) [related, inherited]

Add the vertices which are incident to the simplices.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void determineInteriorVertices ( const IndSimpSetIncAdj< N, M, A, T, V, IS > &  mesh,
IntOutIter  indexIterator 
) [related, inherited]

Add the interior vertex indices to the set.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void determineOverlappingSimplices ( const IndSimpSet< N, M, A, T, V, IS > &  mesh,
const BBox< N, T > &  domain,
IntOutIter  indexIterator 
) [related, inherited]

Determine the simplices whose bounding boxes overlap the domain.

Parameters:
mesh is the simplicial mesh.
domain A Cartesian rectiliniar domain.
indexIterator is an output iterator on simplex indices.

Determine the set of simplices whose bounding boxes overlap the domain.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void determineSimplicesInComponent ( const IndSimpSetIncAdj< N, M, A, T, V, IS > &  mesh,
int  index,
IntOutIter  indexIterator 
) [related, inherited]

Add the simplices in the component with the n_th simplex to the set.

template<int N, int M, bool A, typename T , typename V , typename IS , class LSF , typename IntOutIter >
void determineSimplicesInside ( const IndSimpSet< N, M, A, T, V, IS > &  mesh,
const LSF &  f,
IntOutIter  indexIterator 
) [related, inherited]

Determine the simplices that are inside the object.

Parameters:
mesh is the simplicial mesh.
f is the level set function that describes the object. Points inside/outside the object have negative/positive values.
indexIterator is an output iterator on simplex indices.

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 , class UnaryFunction , typename IntOutIter >
void determineSimplicesThatSatisfyCondition ( const IndSimpSet< N, M, A, T, V, IS > &  mesh,
const UnaryFunction &  f,
IntOutIter  indexIterator 
) [related, inherited]

Determine the simplices which satisfy the specified condition.

Parameters:
mesh is the simplicial mesh.
f is the boolean function on simplices.
indexIterator is an output iterator on simplex indices.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutIter >
void determineSimplicesWithRequiredAdjacencies ( const IndSimpSetIncAdj< N, M, A, T, V, IS > &  mesh,
int  minRequiredAdjacencies,
IntOutIter  indexIterator 
) [related, inherited]

Add the simplices with at least the specified number of adjacencies to the set.

Parameters:
mesh is the simplicial mesh.
minRequiredAdjacencies is the minimim required number of adjacencies.
indexIterator is an output iterator for the simplex indices that have at least specified number of adjacencies.
template<int N, int M, bool A, typename T , typename V , typename IS , class LSF , typename IntOutIter >
void determineVerticesInside ( const IndSimpSet< N, M, A, T, V, IS > &  mesh,
const LSF &  f,
IntOutIter  indexIterator 
) [related, inherited]

Determine the vertices that are inside the object.

Parameters:
mesh is the simplicial mesh.
f is the level set function that describes the object. Points inside/outside the object have negative/positive values.
indexIterator is an output iterator on vertex indices.

LSF is the level set functor.

template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutputIterator1 , typename IntOutputIterator2 >
void separateComponents ( IndSimpSetIncAdj< N, M, A, T, V, IS > *  mesh,
IntOutputIterator1  delimiterIterator,
IntOutputIterator2  permutationIterator 
) [related, inherited]

Separate the connected components of the mesh.

Parameters:
mesh The input/output mesh. The simplices will be rearranged so that the simplices in a connected component are in a contiguous index range.
delimiterIterator The delimiters define the components. Its values are the semi-open index ranges.
permutationIterator The permutation of the simplices will be output to this iterator.
template<int N, int M, bool A, typename T , typename V , typename IS , typename IntOutputIterator >
void separateComponents ( IndSimpSetIncAdj< N, M, A, T, V, IS > *  mesh,
IntOutputIterator  delimiterIterator 
) [related, inherited]

Separate the connected components of the mesh.

Parameters:
mesh The input/output mesh. The simplices will be rearranged so that the simplices in a connected component are in a contiguous index range.
delimiterIterator The delimiters define the components. Its values are the semi-open index ranges.
Generated on Thu Jun 30 02:14:58 2016 for Computational Geometry Package by  doxygen 1.6.3