#include <MRPolylineSubdivide.h>
Public Attributes | |
float | maxEdgeLen = 0 |
Subdivision is stopped when all edges are not longer than this value. | |
int | maxEdgeSplits = 1000 |
Maximum number of edge splits allowed. | |
VertBitSet * | region = nullptr |
VertBitSet * | newVerts = nullptr |
New vertices appeared during subdivision will be added here. | |
bool | useCurvature = false |
std::function< void(VertId)> | onVertCreated |
this function is called each time a new vertex has been created | |
std::function< void(EdgeId e1, EdgeId e)> | onEdgeSplit |
this function is called each time edge (e) is split into (e1->e) | |
ProgressCallback | progressCallback = {} |
callback to report algorithm progress and cancel it by user request | |
float MR::PolylineSubdivideSettings::maxEdgeLen = 0 |
Subdivision is stopped when all edges are not longer than this value.
int MR::PolylineSubdivideSettings::maxEdgeSplits = 1000 |
Maximum number of edge splits allowed.
VertBitSet* MR::PolylineSubdivideSettings::newVerts = nullptr |
New vertices appeared during subdivision will be added here.
std::function<void(EdgeId e1, EdgeId e)> MR::PolylineSubdivideSettings::onEdgeSplit |
this function is called each time edge (e) is split into (e1->e)
std::function<void(VertId)> MR::PolylineSubdivideSettings::onVertCreated |
this function is called each time a new vertex has been created
ProgressCallback MR::PolylineSubdivideSettings::progressCallback = {} |
callback to report algorithm progress and cancel it by user request
VertBitSet* MR::PolylineSubdivideSettings::region = nullptr |
Region on polyline to be subdivided: both edge vertices must be there to allow spitting, it is updated during the operation
bool MR::PolylineSubdivideSettings::useCurvature = false |
This option works best for natural lines, where all segments have similar size, and no sharp angles in between