Functions to refine the cells in a SimpMeshRed. More...
#include "coarsen.h"
#include "inc_opt.h"
#include "insert.h"
#include "set.h"
#include "../iss/ISS_SignedDistance.h"
#include "../iss/PointsOnManifold.h"
#include "../../../ads/functor/constant.h"
#include <set>
#include "refine2.ipp"
Go to the source code of this file.
Functions | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int MM, int SD, class MaxEdgeLength > | |
BEGIN_NAMESPACE_GEOM int | refine (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, PointsOnManifold< N, MM, SD, T > *manifold, const MaxEdgeLength &f) |
Refine the mesh using the maximum edge length function. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, class MaxEdgeLength > | |
int | refine (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, const MaxEdgeLength &f) |
Refine the mesh using the maximum edge length function. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int MM, int SD, typename IntInputIterator > | |
int | refine (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, PointsOnManifold< N, MM, SD, T > *manifold, IntInputIterator begin, IntInputIterator end) |
Refine the mesh by splitting the specified cells. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, typename IntInputIterator > | |
int | refine (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, IntInputIterator begin, IntInputIterator end) |
Refine the mesh by splitting the specified cells. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int MM, int SD, typename IntInputIterator , class MaxEdgeLength > | |
int | refine (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, PointsOnManifold< N, MM, SD, T > *manifold, IntInputIterator begin, IntInputIterator end, const MaxEdgeLength &f) |
Refine the specified cells using the maximum edge length function. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, typename IntInputIterator , class MaxEdgeLength > | |
int | refine (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, IntInputIterator begin, IntInputIterator end, const MaxEdgeLength &f) |
Refine the specified cells using the maximum edge length function. | |
template<typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, class ISS > | |
int | refineBoundary (SimpMeshRed< 2, 2, T, Node, Cell, Cont > *x, const ISS &boundary, T maxAngle, T minEdgeLength, int maxSweeps=10) |
Refine the mesh to better fit the boundary. | |
template<typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, class Distance , class ClosestPoint , class MaxAngle , class MinEdgeLength > | |
int | refineBoundary (SimpMeshRed< 2, 2, T, Node, Cell, Cont > *x, const Distance &distance, const ClosestPoint &closestPoint, const MaxAngle &maxAngle, const MinEdgeLength &minEdgeLength, int maxSweeps=10) |
Refine the mesh to better fit the boundary. | |
template<typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, class MaxEdgeLength > | |
int | refineAdjust (SimpMeshRed< 2, 2, T, Node, Cell, Cont > *mesh, const MaxEdgeLength &f) |
Refine and adjust the mesh using the maximum edge length function. |
Functions to refine the cells in a SimpMeshRed.
int refine | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
IntInputIterator | begin, | |||
IntInputIterator | end, | |||
const MaxEdgeLength & | f | |||
) | [inline] |
Refine the specified cells using the maximum edge length function.
mesh | The simplicial mesh. | |
begin | The beginning of a range of cell indices. | |
end | The end of a range of cell indices. | |
f | The maximum edge length functor. The algorithm will split edges above this threshold. |
This simply calls the above function with a null pointer for the boundary manifold data structure.
References refine().
int refine | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
PointsOnManifold< N, MM, SD, T > * | manifold, | |||
IntInputIterator | begin, | |||
IntInputIterator | end, | |||
const MaxEdgeLength & | f | |||
) | [inline] |
Refine the specified cells using the maximum edge length function.
mesh | The simplicial mesh. | |
manifold | The manifold data structure. | |
begin | The beginning of a range of cell indices. | |
end | The end of a range of cell indices. | |
f | The maximum edge length functor. The algorithm will split edges above this threshold. |
This function will refine the cells whose edge lengths exceed the maximum specified edge length.
int refine | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
IntInputIterator | begin, | |||
IntInputIterator | end | |||
) | [inline] |
Refine the mesh by splitting the specified cells.
mesh | The simplicial mesh. | |
begin | The beginning of a range of cell indices. | |
end | The end of a range of cell indices. |
This simply calls the above function with a null pointer for the boundary manifold data structure.
References refine().
int refine | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
PointsOnManifold< N, MM, SD, T > * | manifold, | |||
IntInputIterator | begin, | |||
IntInputIterator | end | |||
) | [inline] |
Refine the mesh by splitting the specified cells.
mesh | The simplicial mesh. | |
manifold | The boundary manifold data structure. By default it is null. | |
begin | The beginning of a range of cell indices. | |
end | The end of a range of cell indices. |
int refine | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
const MaxEdgeLength & | f | |||
) | [inline] |
Refine the mesh using the maximum edge length function.
mesh | The simplicial mesh. | |
f | The maximum edge length functor. The algorithm will split edges above this threshold. |
This simply calls the above function with a null pointer for the boundary manifold data structure.
References refine().
BEGIN_NAMESPACE_GEOM int refine | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
PointsOnManifold< N, MM, SD, T > * | manifold, | |||
const MaxEdgeLength & | f | |||
) | [inline] |
Refine the mesh using the maximum edge length function.
mesh | The simplicial mesh. | |
manifold | The manifold data structure. | |
f | The maximum edge length functor. The algorithm will split edges above this threshold. |
Referenced by refine().
int refineAdjust | ( | SimpMeshRed< 2, 2, T, Node, Cell, Cont > * | mesh, | |
const MaxEdgeLength & | f | |||
) | [inline] |
Refine and adjust the mesh using the maximum edge length function.
mesh | The simplicial mesh. | |
f | The maximum edge length functor. The algorithm will split edges above this threshold. |
When an edge is split, incidence optimization and Laplacian smoothing is performed to adjust the mesh.
int refineBoundary | ( | SimpMeshRed< 2, 2, T, Node, Cell, Cont > * | x, | |
const Distance & | distance, | |||
const ClosestPoint & | closestPoint, | |||
const MaxAngle & | maxAngle, | |||
const MinEdgeLength & | minEdgeLength, | |||
int | maxSweeps = 10 | |||
) | [inline] |
Refine the mesh to better fit the boundary.
int refineBoundary | ( | SimpMeshRed< 2, 2, T, Node, Cell, Cont > * | x, | |
const ISS & | boundary, | |||
T | maxAngle, | |||
T | minEdgeLength, | |||
int | maxSweeps = 10 | |||
) | [inline] |
Refine the mesh to better fit the boundary.