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.
1.6.3