set.h File Reference

Implements operations that set a SimpMeshRed. More...

#include "SimpMeshRed.h"
#include "accessors.h"
#include "set.ipp"

Go to the source code of this file.

Functions

template<typename NodeInIter , class LSF , typename OutIter >
BEGIN_NAMESPACE_GEOM void determineNodesOutside (NodeInIter begin, NodeInIter end, const LSF &f, OutIter iter)
 Get the nodes that are outside the object.
template<typename CellInIter , class LSF , typename OutIter >
void determineCellsOutside (CellInIter begin, CellInIter end, const LSF &f, OutIter iter)
 Get the cells whose centroids are outside the object.
template<typename NodeInIter , typename OutIter >
void getNodes (NodeInIter begin, NodeInIter end, OutIter iter)
 Get the node iterators for the all of the nodes in the mesh.
template<typename NodeInIter , typename OutIter >
void determineInteriorNodes (NodeInIter begin, NodeInIter end, OutIter iter)
 Get the node iterators for the interior nodes.
template<typename NodeInIter , typename OutIter >
void determineBoundaryNodes (NodeInIter begin, NodeInIter end, OutIter iter)
 Get the node iterators for the boundary nodes.
template<typename CellInIter , typename OutIter >
void determineCellsWithRequiredAdjacencies (CellInIter begin, CellInIter end, int minimumRequiredAdjacencies, OutIter iter)
 Get the cell iterators with at least the specified number of adjacencies.
template<typename CellInIter , typename OutIter >
void determineCellsWithLowAdjacencies (CellInIter begin, CellInIter end, const int minimumRequiredAdjacencies, OutIter iter)
 Get the cell iterators with adjacencies less than specified.
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont>
void determineNeighbors (SimpMeshRed< N, M, T, Node, Cell, Cont > &mesh, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIterator node, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIteratorSet *neighbors)
 Get the neighboring nodes of a node.
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont>
void determineBoundaryNeighbors (SimpMeshRed< N, M, T, Node, Cell, Cont > &mesh, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIterator node, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIteratorSet *neighbors)
 Get the neighboring boundary nodes of a node.
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont>
void determineNeighbors (SimpMeshRed< N, M, T, Node, Cell, Cont > &mesh, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIterator node, int radius, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIteratorSet *neighbors)
 Get all the nodes within the specified radius of the specified node.
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont>
void determineFacesOfIncidentCells (SimpMeshRed< N, M, T, Node, Cell, Cont > &mesh, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIterator node, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::FaceSet *faces)
 Get the faces of the incident cells.
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, typename IntInIter >
void convertIdentifiersToIterators (SimpMeshRed< N, M, T, Node, Cell, Cont > &mesh, IntInIter begin, IntInIter end, typename SimpMeshRed< N, M, T, Node, Cell, Cont >::CellIteratorSet *cells)
 Build a set of cell iterators from a range of cell identifiers.

Detailed Description

Implements operations that set a SimpMeshRed.


Function Documentation

template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, typename IntInIter >
void convertIdentifiersToIterators ( SimpMeshRed< N, M, T, Node, Cell, Cont > &  mesh,
IntInIter  begin,
IntInIter  end,
typename SimpMeshRed< N, M, T, Node, Cell, Cont >::CellIteratorSet *  cells 
) [inline]

Build a set of cell iterators from a range of cell identifiers.

Parameters:
mesh The simplicial mesh. It is not modified, but because we are getting cell iterators (not cell const iterators) we pass it by reference (not const reference).
begin The beginning of the range of identifiers.
end The end of the range of identifiers.
cells The set of cell iterators.

The cell identifiers may not be the same as the cell indices. (Cell indices would be in the range [ 0 .. mesh.cells_size()).

template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont>
void determineBoundaryNeighbors ( SimpMeshRed< N, M, T, Node, Cell, Cont > &  mesh,
typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIterator  node,
typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIteratorSet *  neighbors 
) [inline]

Get the neighboring boundary nodes of a node.

The set of boundary nodes (not including the specified node) that share a cell with the specified node.

template<typename NodeInIter , typename OutIter >
void determineBoundaryNodes ( NodeInIter  begin,
NodeInIter  end,
OutIter  iter 
) [inline]

Get the node iterators for the boundary nodes.

Parameters:
begin is the beginning of a range of node input iterators.
end is the end of a range of node input iterators.
iter is an output iterator for the node iterators.
template<typename CellInIter , class LSF , typename OutIter >
void determineCellsOutside ( CellInIter  begin,
CellInIter  end,
const LSF &  f,
OutIter  iter 
) [inline]

Get the cells whose centroids are outside the object.

Parameters:
begin is the beginning of a range of cell input iterators.
end is the end of a range of cell input iterators.
f is the level set function that describes the object. Points inside/outside the object have negative/positive values.
iter is an output iterator for the cell const iterators.

This function calls the function of the same name with const iterators as the initial arguments.

template<typename CellInIter , typename OutIter >
void determineCellsWithLowAdjacencies ( CellInIter  begin,
CellInIter  end,
const int  minimumRequiredAdjacencies,
OutIter  iter 
) [inline]

Get the cell iterators with adjacencies less than specified.

Parameters:
begin is the beginning of a range of cell input iterators.
end is the end of a range of cell input iterators.
minimumRequiredAdjacencies This function gets the cells that have fewer adjacencies than minimumRequiredAdjacencies.
iter is an output iterator for the cell iterators.
template<typename CellInIter , typename OutIter >
void determineCellsWithRequiredAdjacencies ( CellInIter  begin,
CellInIter  end,
int  minimumRequiredAdjacencies,
OutIter  iter 
) [inline]

Get the cell iterators with at least the specified number of adjacencies.

Parameters:
begin is the beginning of a range of cell input iterators.
end is the end of a range of cell input iterators.
minimumRequiredAdjacencies The minimum required adjacencies.
iter is an output iterator for the cell iterators.
template<typename NodeInIter , typename OutIter >
void determineInteriorNodes ( NodeInIter  begin,
NodeInIter  end,
OutIter  iter 
) [inline]

Get the node iterators for the interior nodes.

Parameters:
begin is the beginning of a range of node input iterators.
end is the end of a range of node input iterators.
iter is an output iterator for the node iterators.
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont>
void determineNeighbors ( SimpMeshRed< N, M, T, Node, Cell, Cont > &  mesh,
typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIterator  node,
int  radius,
typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIteratorSet *  neighbors 
) [inline]

Get all the nodes within the specified radius of the specified node.

The set includes the specified node.

template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont>
void determineNeighbors ( SimpMeshRed< N, M, T, Node, Cell, Cont > &  mesh,
typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIterator  node,
typename SimpMeshRed< N, M, T, Node, Cell, Cont >::NodeIteratorSet *  neighbors 
) [inline]

Get the neighboring nodes of a node.

The set of nodes (not including the specified node) that share a cell with the specified node.

template<typename NodeInIter , class LSF , typename OutIter >
BEGIN_NAMESPACE_GEOM void determineNodesOutside ( NodeInIter  begin,
NodeInIter  end,
const LSF &  f,
OutIter  iter 
) [inline]

Get the nodes that are outside the object.

Parameters:
begin is the beginning of a range of node input iterators.
end is the end of a range of node input iterators.
f is the level set function that describes the object. Points inside/outside the object have negative/positive values.
iter is an output iterator for the node const iterators.
template<typename NodeInIter , typename OutIter >
void getNodes ( NodeInIter  begin,
NodeInIter  end,
OutIter  iter 
) [inline]

Get the node iterators for the all of the nodes in the mesh.

Parameters:
begin is the beginning of a range of node input iterators.
end is the end of a range of node input iterators.
iter is an output iterator for the node iterators.
Generated on Thu Jun 30 02:14:57 2016 for Computational Geometry Package by  doxygen 1.6.3