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. |
Implements operations that set a SimpMeshRed.
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.
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()).
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.
void determineBoundaryNodes | ( | NodeInIter | begin, | |
NodeInIter | end, | |||
OutIter | iter | |||
) | [inline] |
Get the node iterators for the boundary nodes.
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. |
void determineCellsOutside | ( | CellInIter | begin, | |
CellInIter | end, | |||
const LSF & | f, | |||
OutIter | iter | |||
) | [inline] |
Get the cells whose centroids are outside the object.
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.
void determineCellsWithLowAdjacencies | ( | CellInIter | begin, | |
CellInIter | end, | |||
const int | minimumRequiredAdjacencies, | |||
OutIter | iter | |||
) | [inline] |
Get the cell iterators with adjacencies less than specified.
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. |
void determineCellsWithRequiredAdjacencies | ( | CellInIter | begin, | |
CellInIter | end, | |||
int | minimumRequiredAdjacencies, | |||
OutIter | iter | |||
) | [inline] |
Get the cell iterators with at least the specified number of adjacencies.
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. |
void determineInteriorNodes | ( | NodeInIter | begin, | |
NodeInIter | end, | |||
OutIter | iter | |||
) | [inline] |
Get the node iterators for the interior nodes.
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. |
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.
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.
BEGIN_NAMESPACE_GEOM void determineNodesOutside | ( | NodeInIter | begin, | |
NodeInIter | end, | |||
const LSF & | f, | |||
OutIter | iter | |||
) | [inline] |
Get the nodes that are outside the object.
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. |
void getNodes | ( | NodeInIter | begin, | |
NodeInIter | end, | |||
OutIter | iter | |||
) | [inline] |
Get the node iterators for the all of the nodes in the mesh.
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. |