Version: 9.12.0
SMESH_MeshAlgos::Triangulate::Optimizer Struct Reference

Public Member Functions

void optimize (std::vector< const SMDS_MeshNode * > &nodes, std::vector< PolyVertex > &points, std::vector< size_t > &nodeIndices)
 Optimize triangles by edge swapping. More...
 
double computeBadness (size_t i1, size_t i2, size_t i3, std::vector< PolyVertex > &points, bool checkArea=false)
 Return 1. More...
 

Data Fields

std::vector< TriaNodeSet > _nodeUsage
 

Member Function Documentation

◆ computeBadness()

double SMESH_MeshAlgos::Triangulate::Optimizer::computeBadness ( size_t  i1,
size_t  i2,
size_t  i3,
std::vector< PolyVertex > &  points,
bool  checkArea = false 
)

Return 1.

/area. Initially: max cos^2 of triangle angles

Referenced by SMESH_MeshAlgos::Triangulate::Optimizer::optimize().

◆ optimize()

void SMESH_MeshAlgos::Triangulate::Optimizer::optimize ( std::vector< const SMDS_MeshNode * > &  nodes,
std::vector< PolyVertex > &  points,
std::vector< size_t > &  nodeIndices 
)

Optimize triangles by edge swapping.

Parameters
[in,out]nodes- polygon triangulation, i.e. connectivity of all triangles to optimize
[in]points- coordinates of nodes of the input polygon
[in]nodeIndices- indices of triangulation nodes within the input polygon

References SMESH_MeshAlgos::Triangulate::Optimizer::_nodeUsage, and SMESH_MeshAlgos::Triangulate::Optimizer::computeBadness().

Field Documentation

◆ _nodeUsage

std::vector< TriaNodeSet > SMESH_MeshAlgos::Triangulate::Optimizer::_nodeUsage