Functions to topologicalOptimize the cells in a SimpMeshRed. More...
#include "SimpMeshRed.h"
#include "EdgeRemoval.h"
#include "../simplex/SimplexModCondNum.h"
#include "../../../ads/array/Array.h"
#include <cassert>
#include "EdgeRemoval.ipp"
#include "FaceRemoval.ipp"
#include "set.h"
#include "../iss/PointsOnManifold.h"
#include "../defs.h"
#include "skipElements.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> | |
BEGIN_NAMESPACE_GEOM int | topologicalOptimize (SimpMeshRed< 3, 3, T, Node, Cell, Cont > *mesh, const PointsOnManifold< 3, 2, SD, T > *manifold, std::multiset< std::pair< int, int > > *edgeRemovalOperations=0, std::multiset< std::pair< int, int > > *faceRemovalOperations=0, int maximumSteps=std::numeric_limits< int >::max()) |
Use edge and face removal to optimize the mesh. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int MM, int SD> | |
int | topologicalOptimizeUsingMeanRatio (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, const PointsOnManifold< N, MM, SD, T > *manifold, std::multiset< std::pair< int, int > > *edgeRemovalOperations=0, std::multiset< std::pair< int, int > > *faceRemovalOperations=0, const int maximumSteps=std::numeric_limits< int >::max()) |
Use edge and face removal to optimize the mesh. | |
template<int N, int M, typename T , template< class > class Node, template< class > class Cell, template< class, class > class Cont, int MM, int SD> | |
int | topologicalOptimizeUsingConditionNumber (SimpMeshRed< N, M, T, Node, Cell, Cont > *mesh, const PointsOnManifold< N, MM, SD, T > *manifold, std::multiset< std::pair< int, int > > *edgeRemovalOperations=0, std::multiset< std::pair< int, int > > *faceRemovalOperations=0, const int maximumSteps=std::numeric_limits< int >::max()) |
Use edge and face removal to optimize the mesh. |
Functions to topologicalOptimize the cells in a SimpMeshRed.
BEGIN_NAMESPACE_GEOM int topologicalOptimize | ( | SimpMeshRed< 3, 3, T, Node, Cell, Cont > * | mesh, | |
const PointsOnManifold< 3, 2, SD, T > * | manifold, | |||
std::multiset< std::pair< int, int > > * | edgeRemovalOperations = 0 , |
|||
std::multiset< std::pair< int, int > > * | faceRemovalOperations = 0 , |
|||
int | maximumSteps = std::numeric_limits< int >::max() | |||
) | [inline] |
Use edge and face removal to optimize the mesh.
mesh | The simplicial mesh. | |
manifold | The manifold data structure. We pass this by const reference, because the topological optimization will not change the manifold data structure. | |
edgeRemovalOperations | Multi-set to record the edge removal operations. | |
faceRemovalOperations | Multi-set to record the face removal operations. | |
maximumSteps | The maximum allowed number of steps. |
Use the specified metric.
int topologicalOptimizeUsingConditionNumber | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
const PointsOnManifold< N, MM, SD, T > * | manifold, | |||
std::multiset< std::pair< int, int > > * | edgeRemovalOperations = 0 , |
|||
std::multiset< std::pair< int, int > > * | faceRemovalOperations = 0 , |
|||
const int | maximumSteps = std::numeric_limits<int>::max() | |||
) | [inline] |
Use edge and face removal to optimize the mesh.
mesh | The simplicial mesh. | |
manifold | The manifold data structure. | |
edgeRemovalOperations | Multi-set to record the edge removal operations. | |
faceRemovalOperations | Multi-set to record the face removal operations. | |
maximumSteps | The maximum allowed number of steps. |
Use the modified mean ratio metric.
int topologicalOptimizeUsingMeanRatio | ( | SimpMeshRed< N, M, T, Node, Cell, Cont > * | mesh, | |
const PointsOnManifold< N, MM, SD, T > * | manifold, | |||
std::multiset< std::pair< int, int > > * | edgeRemovalOperations = 0 , |
|||
std::multiset< std::pair< int, int > > * | faceRemovalOperations = 0 , |
|||
const int | maximumSteps = std::numeric_limits<int>::max() | |||
) | [inline] |
Use edge and face removal to optimize the mesh.
mesh | The simplicial mesh. | |
manifold | The manifold data structure. | |
edgeRemovalOperations | Multi-set to record the edge removal operations. | |
faceRemovalOperations | Multi-set to record the face removal operations. | |
maximumSteps | The maximum allowed number of steps. |
Use the modified mean ratio metric.