Functions to coarsen the cells in a SimpMeshRed. More...
#include "SimpMeshRed.h"
#include "geometry.h"
#include "topology.h"
#include "build.h"
#include "set.h"
#include "../iss/PointsOnManifold.h"
#include "../../../numerical/constants.h"
#include "coarsenN.ipp"
Go to the source code of this file.
Functions | |
template<class QualityMetric , typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int SD, class MinEdgeLength > | |
BEGIN_NAMESPACE_GEOM int | coarsen (SimpMeshRed< 2, 2, T, Node, Cell, Cont > *mesh, const MinEdgeLength &f, T minimumAllowedQuality, T qualityFactor, PointsOnManifold< 2, 1, SD, T > *manifold, int maxSweeps=0) |
Coarsen the mesh using the minimum edge length function. | |
template<class QualityMetric , typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, class MinEdgeLength > | |
int | coarsen (SimpMeshRed< 2, 2, T, Node, Cell, Cont > *mesh, const MinEdgeLength &f, T minimumAllowedQuality, T qualityFactor, T cornerDeviation=-1, int maxSweeps=0) |
Coarsen the mesh using the min edge length function. | |
template<class QualityMetric , typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int SD, class MinEdgeLength > | |
int | coarsen (SimpMeshRed< 3, 2, T, Node, Cell, Cont > *mesh, const MinEdgeLength &f, T minimumAllowedQuality, T qualityFactor, PointsOnManifold< 3, 2, SD, T > *manifold, int maxSweeps=0) |
Coarsen the mesh using the min edge length function. | |
template<class QualityMetric , typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, class MinEdgeLength > | |
int | coarsen (SimpMeshRed< 3, 2, T, Node, Cell, Cont > *mesh, const MinEdgeLength &f, T minimumAllowedQuality, T qualityFactor, T maxDihedralAngleDeviation=-1, T maxSolidAngleDeviation=-1, T maxBoundaryAngleDeviation=-1, int maxSweeps=0) |
Coarsen the mesh using the min edge length function. | |
template<class QualityMetric , typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int SD, class MinEdgeLength > | |
int | coarsen (SimpMeshRed< 3, 3, T, Node, Cell, Cont > *mesh, const MinEdgeLength &f, T minimumAllowedQuality, T qualityFactor, PointsOnManifold< 3, 2, SD, T > *manifold, int maxSweeps=0) |
Coarsen the mesh using the min edge length function. | |
template<class QualityMetric , typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, class MinEdgeLength > | |
int | coarsen (SimpMeshRed< 3, 3, T, Node, Cell, Cont > *mesh, const MinEdgeLength &f, T minimumAllowedQuality, T qualityFactor, T maxDihedralAngleDeviation=-1, T maxSolidAngleDeviation=-1, T maxBoundaryAngleDeviation=-1, int maxSweeps=0) |
Coarsen the mesh using the min edge length function. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, typename IntInIter > | |
int | coarsen (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, IntInIter begin, IntInIter end) |
Collapse edges to remove the specified cells. |
Functions to coarsen the cells in a SimpMeshRed.
int coarsen | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
IntInIter | begin, | |||
IntInIter | end | |||
) | [inline] |
Collapse edges to remove the specified cells.
mesh | The simplicial mesh. | |
begin | The beginning of a range of cells. | |
end | The end of a range of cells. |
int coarsen | ( | SimpMeshRed< 3, 3, T, Node, Cell, Cont > * | mesh, | |
const MinEdgeLength & | f, | |||
T | minimumAllowedQuality, | |||
T | qualityFactor, | |||
T | maxDihedralAngleDeviation = -1 , |
|||
T | maxSolidAngleDeviation = -1 , |
|||
T | maxBoundaryAngleDeviation = -1 , |
|||
int | maxSweeps = 0 | |||
) | [inline] |
Coarsen the mesh using the min edge length function.
mesh | The simplicial mesh. | |
f | The minimum edge length functor. The algorithm will try to collapse edges below this threshold. | |
minimumAllowedQuality | A collapse is only allowed if the quality of the resulting elements is not less than this value. | |
qualityFactor | A collapse is only allowed if the quality of the resulting elements is not less than the initial quality times this value. | |
maxDihedralAngleDeviation | The maximum dihedral angle deviation (from straight) for a surface feature. The rest are edge features. If not specified, all interior edges will be set as surface features. | |
maxSolidAngleDeviation | Solid angles that deviate more than this value (from ) are corner features. If not specified, this criterion will not be used to identify corners. | |
maxBoundaryAngleDeviation | If the angle deviation (from ) between two boundary edges exceeds this value, it will be set as a corner feature. If not specified, this criterion will not be used to identify corners on the boundary. | |
maxSweeps | The maximum number of sweeps over the vertices. By default, there is no limit on the number of sweeps. |
int coarsen | ( | SimpMeshRed< 3, 3, T, Node, Cell, Cont > * | mesh, | |
const MinEdgeLength & | f, | |||
T | minimumAllowedQuality, | |||
T | qualityFactor, | |||
PointsOnManifold< 3, 2, SD, T > * | manifold, | |||
int | maxSweeps = 0 | |||
) | [inline] |
Coarsen the mesh using the min edge length function.
mesh | The simplicial mesh. | |
f | The minimum edge length functor. The algorithm will try to collapse edges below this threshold. | |
minimumAllowedQuality | A collapse is only allowed if the quality of the resulting elements is not less than this value. | |
qualityFactor | A collapse is only allowed if the quality of the resulting elements is not less than the initial quality times this value. | |
manifold | The manifold data structure. | |
maxSweeps | The maximum number of sweeps over the vertices. By default, there is no limit on the number of sweeps. |
Only edges which are a common minimum edge are collapsed. Also, an edge may not be collapsed if its' endpoints are mirror nodes. (Doing so would tangle the mesh.) An interior edge may not be collapsed if both of its incident nodes lay on the boundary. (Doing so would change the topology of the mesh.)
int coarsen | ( | SimpMeshRed< 3, 2, T, Node, Cell, Cont > * | mesh, | |
const MinEdgeLength & | f, | |||
T | minimumAllowedQuality, | |||
T | qualityFactor, | |||
T | maxDihedralAngleDeviation = -1 , |
|||
T | maxSolidAngleDeviation = -1 , |
|||
T | maxBoundaryAngleDeviation = -1 , |
|||
int | maxSweeps = 0 | |||
) | [inline] |
Coarsen the mesh using the min edge length function.
mesh | The simplicial mesh. | |
f | The minimum edge length functor. The algorithm will try to collapse edges below this threshold. | |
minimumAllowedQuality | A collapse is only allowed if the quality of the resulting elements is not less than this value. | |
qualityFactor | A collapse is only allowed if the quality of the resulting elements is not less than the initial quality times this value. | |
maxDihedralAngleDeviation | The maximum dihedral angle deviation (from straight) for a surface feature. The rest are edge features. If not specified, all interior edges will be set as surface features. | |
maxSolidAngleDeviation | Solid angles that deviate more than this value (from ) are corner features. If not specified, this criterion will not be used to identify corners. | |
maxBoundaryAngleDeviation | If the angle deviation (from ) between two boundary edges exceeds this value, it will be set as a corner feature. If not specified, this criterion will not be used to identify corners on the boundary. | |
maxSweeps | The maximum number of sweeps over the vertices. By default, there is no limit on the number of sweeps. |
int coarsen | ( | SimpMeshRed< 3, 2, T, Node, Cell, Cont > * | mesh, | |
const MinEdgeLength & | f, | |||
T | minimumAllowedQuality, | |||
T | qualityFactor, | |||
PointsOnManifold< 3, 2, SD, T > * | manifold, | |||
int | maxSweeps = 0 | |||
) | [inline] |
Coarsen the mesh using the min edge length function.
mesh | The simplicial mesh. | |
f | The minimum edge length functor. The algorithm will try to collapse edges below this threshold. | |
minimumAllowedQuality | A collapse is only allowed if the quality of the resulting elements is not less than this value. | |
qualityFactor | A collapse is only allowed if the quality of the resulting elements is not less than the initial quality times this value. | |
manifold | The manifold data structure. | |
maxSweeps | The maximum number of sweeps over the vertices. By default, there is no limit on the number of sweeps. |
Only edges which are a common minimum edge are collapsed. Also, an edge may not be collapsed if its' endpoints are mirror nodes. (Doing so would tangle the mesh.) An interior edge may not be collapsed if both of its incident nodes lay on the boundary. (Doing so would change the topology of the mesh.)
int coarsen | ( | SimpMeshRed< 2, 2, T, Node, Cell, Cont > * | mesh, | |
const MinEdgeLength & | f, | |||
T | minimumAllowedQuality, | |||
T | qualityFactor, | |||
T | cornerDeviation = -1 , |
|||
int | maxSweeps = 0 | |||
) | [inline] |
Coarsen the mesh using the min edge length function.
mesh | The simplicial mesh. | |
f | The minimum edge length functor. The algorithm will try to collapse edges below this threshold. | |
minimumAllowedQuality | A collapse is only allowed if the quality of the resulting elements is not less than this value. | |
qualityFactor | A collapse is only allowed if the quality of the resulting elements is not less than the initial quality times this value. | |
cornerDeviation | Any boundary node whose angle deviates from more than this value will be considered a corner feature. If not specified, no vertices will be considered corner features. | |
maxSweeps | The maximum number of sweeps over the vertices. By default, there is no limit on the number of sweeps. |
BEGIN_NAMESPACE_GEOM int coarsen | ( | SimpMeshRed< 2, 2, T, Node, Cell, Cont > * | mesh, | |
const MinEdgeLength & | f, | |||
T | minimumAllowedQuality, | |||
T | qualityFactor, | |||
PointsOnManifold< 2, 1, SD, T > * | manifold, | |||
int | maxSweeps = 0 | |||
) | [inline] |
Coarsen the mesh using the minimum edge length function.
mesh | The simplicial mesh. | |
f | The minimum edge length functor. The algorithm will try to collapse edges below this threshold. | |
minimumAllowedQuality | A collapse is only allowed if the quality of the resulting elements is not less than this value. | |
qualityFactor | A collapse is only allowed if the quality of the resulting elements is not less than the initial quality times this value. | |
manifold | The manifold data structure. | |
maxSweeps | The maximum number of sweeps over the vertices. By default, there is no limit on the number of sweeps. |
Only edges which are a common minimum edge are collapsed. Also, an edge may not be collapsed if its' endpoints are mirror nodes. (Doing so would tangle the mesh.) An interior edge may not be collapsed if both of its incident nodes lay on the boundary. (Doing so would change the topology of the mesh.)
A boundary edge may not be collapsed if both of its nodes are corner features. (Doing so would change the corner features.)