MeshLib
 
Loading...
Searching...
No Matches
MR::TriangulationParameters Struct Reference

Parameters of point cloud triangulation. More...

#include <MRPointCloudTriangulation.h>

Public Attributes

int numNeighbours = 16
 The number of nearest neighbor points to use for building of local triangulation.
 
float radius = 0
 
float critAngle = PI2_F
 Critical angle of triangles in local triangulation (angle between triangles in fan should be less then this value)
 
float boundaryAngle = 0.9f * PI_F
 the vertex is considered as boundary if its neighbor ring has angle more than this value
 
float critHoleLength = -FLT_MAX
 Critical length of hole (all holes with length less then this value will be filled)
 
bool automaticRadiusIncrease = true
 automatic increase of the radius if points outside can make triangles from original radius not-Delone
 
const PointCloudsearchNeighbors = nullptr
 optional: if provided this cloud will be used for searching of neighbors (so it must have same validPoints)
 

Detailed Description

Parameters of point cloud triangulation.

See also
triangulatePointCloud

Member Data Documentation

◆ automaticRadiusIncrease

bool MR::TriangulationParameters::automaticRadiusIncrease = true

automatic increase of the radius if points outside can make triangles from original radius not-Delone

◆ boundaryAngle

float MR::TriangulationParameters::boundaryAngle = 0.9f * PI_F

the vertex is considered as boundary if its neighbor ring has angle more than this value

◆ critAngle

float MR::TriangulationParameters::critAngle = PI2_F

Critical angle of triangles in local triangulation (angle between triangles in fan should be less then this value)

Good
Too small value

◆ critHoleLength

float MR::TriangulationParameters::critHoleLength = -FLT_MAX

Critical length of hole (all holes with length less then this value will be filled)

If value is subzero it is set automaticly to 0.7*bbox.diagonal()

◆ numNeighbours

int MR::TriangulationParameters::numNeighbours = 16

The number of nearest neighbor points to use for building of local triangulation.

Note
Too small value can make not optimal triangulation and additional holes
Too big value increases difficulty of optimization and decreases performance
Good
Too small value

◆ radius

float MR::TriangulationParameters::radius = 0

Radius of neighborhood around each point to consider for building local triangulation. This is an alternative to numNeighbours parameter. Please set to positive value only one of them.

◆ searchNeighbors

const PointCloud* MR::TriangulationParameters::searchNeighbors = nullptr

optional: if provided this cloud will be used for searching of neighbors (so it must have same validPoints)


The documentation for this struct was generated from the following file: