vtf-logo

Set Operations


Functions

template<typename IntForIter, typename IntOutIter>
void geom::determineComplementSetOfIndices (const int upperBound, IntForIter beginning, IntForIter end, IntOutIter indexIterator)
 Make the complement set of indices.
void geom::IndSimpSet::determineVerticesInside (const IndSimpSet< N, M, A, T, V, IS > &mesh, const LSF &f, IntOutIter indexIterator)
 Determine the vertices that are inside the object.
void geom::IndSimpSet::determineSimplicesInside (const IndSimpSet< N, M, A, T, V, IS > &mesh, const LSF &f, IntOutIter indexIterator)
 Determine the simplices that are inside the object.
void geom::IndSimpSet::determineSimplicesThatSatisfyCondition (const IndSimpSet< N, M, A, T, V, IS > &mesh, const UnaryFunction &f, IntOutIter indexIterator)
 Determine the simplices which satisfy the specified condition.
void geom::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.
void geom::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.
void geom::IndSimpSetIncAdj::determineInteriorVertices (const IndSimpSetIncAdj< N, M, A, T, V, IS > &mesh, IntOutIter indexIterator)
 Add the interior vertex indices to the set.
void geom::IndSimpSetIncAdj::determineBoundaryVertices (const IndSimpSetIncAdj< N, M, A, T, V, IS > &mesh, IntOutIter indexIterator)
 Add the boundary vertex indices to the set.
void geom::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.
void geom::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.
void geom::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.
void geom::IndSimpSetIncAdj::separateComponents (IndSimpSetIncAdj< N, M, A, T, V, IS > *mesh, IntOutputIterator delimiterIterator)
 Separate the connected components of the mesh.
void geom::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<typename IntForIter, typename IntOutIter>
void geom::determineComplementSetOfIndices ( const int  upperBound,
IntForIter  beginning,
IntForIter  end,
IntOutIter  indexIterator 
)

Make the complement set of indices.

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

template<int _N, int _M = _N, bool _A = true, typename T = double, typename V = ads::FixedArray<_N,T>, typename IS = Simplex<_M,int>>
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 = _N, bool _A = true, typename T = double, typename V = ads::FixedArray<_N,T>, typename IS = Simplex<_M,int>>
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 = _N, bool _A = true, typename T = double, typename V = ads::FixedArray<_N,T>, typename IS = Simplex<_M,int>>
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 = _N, bool _A = true, typename T = double, typename V = ads::FixedArray<_N,T>, typename IS = Simplex<_M,int>>
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 = _N, bool _A = true, typename T = double, typename V = ads::FixedArray<_N,T>, typename IS = Simplex<_M,int>>
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 = _N, bool _A = true, typename T = double, typename V = ads::FixedArray<_N,T>, typename IS = Simplex<_M,int>>
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 = _N, bool _A = true, typename T = double, typename V = ads::FixedArray<_N,T>, typename IS = Simplex<_M,int>>
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 Fri Aug 24 12:56:00 2007 for Computational Geometry Package by  doxygen 1.4.7