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