MeshLib C# Docs
Loading...
Searching...
No Matches
MR.Const_DecimatePolylineSettings_MRVector3f Class Reference
Inheritance diagram for MR.Const_DecimatePolylineSettings_MRVector3f:

Classes

struct  _Underlying

Public Member Functions

virtual void Dispose ()
unsafe Const_DecimatePolylineSettings_MRVector3f ()
 Constructs an empty (default-constructed) instance.
unsafe Const_DecimatePolylineSettings_MRVector3f (float maxError, float maxEdgeLen, float stabilizer, bool optimizeVertexPos, int maxDeletedVertices, MR.VertBitSet? region, bool touchBdVertices, MR.Std._ByValue_Function_Bool_From_MREdgeId_ConstMRVector3fRef preCollapse, MR.Std._ByValue_Function_Void_From_MRUndirectedEdgeId_FloatRef_MRVector3fRef adjustCollapse, MR.Vector_MRQuadraticForm3f_MRVertId? vertForms)
 Constructs MR::DecimatePolylineSettings<MR.Vector3f> elementwise.
unsafe Const_DecimatePolylineSettings_MRVector3f (MR._ByValue_DecimatePolylineSettings_MRVector3f _other)
 Generated from constructor MR::DecimatePolylineSettings<MR.Vector3f>::DecimatePolylineSettings.
 Const_DecimatePolylineSettings_MRVector3f (Const_DecimatePolylineSettings_MRVector3f _other)
 Generated from constructor MR::DecimatePolylineSettings<MR.Vector3f>::DecimatePolylineSettings.
 Const_DecimatePolylineSettings_MRVector3f (DecimatePolylineSettings_MRVector3f _other)
 Generated from constructor MR::DecimatePolylineSettings<MR.Vector3f>::DecimatePolylineSettings.

Protected Member Functions

virtual unsafe void Dispose (bool disposing)

Protected Attributes

unsafe float * __ref_storage_maxError
unsafe float * __ref_storage_maxEdgeLen
unsafe float * __ref_storage_stabilizer
unsafe bool * __ref_storage_optimizeVertexPos
unsafe int * __ref_storage_maxDeletedVertices
unsafe MR.VertBitSet._Underlying ** __ptr_storage_region
unsafe bool * __ref_storage_touchBdVertices
unsafe MR.Vector_MRQuadraticForm3f_MRVertId._Underlying ** __ptr_storage_vertForms

Properties

unsafe float maxError [get]
 Limit from above on the maximum distance from moved vertices to original contour.
unsafe float maxEdgeLen [get]
 Maximal possible edge length created during decimation.
unsafe float stabilizer [get]
 Stabilizer is dimensionless coefficient. The larger is stabilizer, the more Decimator will strive to retain the density of input points. If stabilizer is zero, then only the shape of input line will be preserved.
unsafe bool optimizeVertexPos [get]
 if true then after each edge collapse the position of remaining vertex is optimized to minimize local shape change, if false then the edge is collapsed in one of its vertices, which keeps its position
unsafe int maxDeletedVertices [get]
 Limit on the number of deleted vertices.
unsafe MR.? VertBitSet region [get]
 Region of the polyline to be decimated, it is updated during the operation Remain nullptr to include the whole polyline.
unsafe bool touchBdVertices [get]
 Whether to allow collapsing edges with at least one vertex on the end of not-closed polyline (or on region boundary if region is given); if touchBdVertices is false then boundary vertices are strictly fixed.
unsafe MR.Std.Const_Function_Bool_From_MREdgeId_ConstMRVector3fRef preCollapse [get, protected set]
 The user can provide this optional callback that is invoked immediately before edge collapse;.
unsafe MR.Std.Const_Function_Void_From_MRUndirectedEdgeId_FloatRef_MRVector3fRef adjustCollapse [get, protected set]
 The user can provide this optional callback for adjusting error introduced by this edge collapse and the collapse position.
unsafe MR.? Vector_MRQuadraticForm3f_MRVertId vertForms [get]
 If not null, then on input: if the vector is not empty then it is taken for initialization instead of form computation for all vertices; on output: quadratic form for each remaining vertex is returned there.

Constructor & Destructor Documentation

◆ Const_DecimatePolylineSettings_MRVector3f() [1/5]

unsafe MR.Const_DecimatePolylineSettings_MRVector3f.Const_DecimatePolylineSettings_MRVector3f ( )
inline

Constructs an empty (default-constructed) instance.

◆ Const_DecimatePolylineSettings_MRVector3f() [2/5]

unsafe MR.Const_DecimatePolylineSettings_MRVector3f.Const_DecimatePolylineSettings_MRVector3f ( float maxError,
float maxEdgeLen,
float stabilizer,
bool optimizeVertexPos,
int maxDeletedVertices,
MR.VertBitSet? region,
bool touchBdVertices,
MR.Std._ByValue_Function_Bool_From_MREdgeId_ConstMRVector3fRef preCollapse,
MR.Std._ByValue_Function_Void_From_MRUndirectedEdgeId_FloatRef_MRVector3fRef adjustCollapse,
MR.Vector_MRQuadraticForm3f_MRVertId? vertForms )
inline

Constructs MR::DecimatePolylineSettings<MR.Vector3f> elementwise.

◆ Const_DecimatePolylineSettings_MRVector3f() [3/5]

unsafe MR.Const_DecimatePolylineSettings_MRVector3f.Const_DecimatePolylineSettings_MRVector3f ( MR._ByValue_DecimatePolylineSettings_MRVector3f _other)
inline

Generated from constructor MR::DecimatePolylineSettings<MR.Vector3f>::DecimatePolylineSettings.

◆ Const_DecimatePolylineSettings_MRVector3f() [4/5]

MR.Const_DecimatePolylineSettings_MRVector3f.Const_DecimatePolylineSettings_MRVector3f ( Const_DecimatePolylineSettings_MRVector3f _other)
inline

Generated from constructor MR::DecimatePolylineSettings<MR.Vector3f>::DecimatePolylineSettings.

◆ Const_DecimatePolylineSettings_MRVector3f() [5/5]

MR.Const_DecimatePolylineSettings_MRVector3f.Const_DecimatePolylineSettings_MRVector3f ( DecimatePolylineSettings_MRVector3f _other)
inline

Generated from constructor MR::DecimatePolylineSettings<MR.Vector3f>::DecimatePolylineSettings.

Member Function Documentation

◆ Dispose() [1/2]

virtual void MR.Const_DecimatePolylineSettings_MRVector3f.Dispose ( )
inlinevirtual

◆ Dispose() [2/2]

virtual unsafe void MR.Const_DecimatePolylineSettings_MRVector3f.Dispose ( bool disposing)
inlineprotectedvirtual

Member Data Documentation

◆ __ptr_storage_region

unsafe MR.VertBitSet._Underlying** MR.Const_DecimatePolylineSettings_MRVector3f.__ptr_storage_region
protected

◆ __ptr_storage_vertForms

unsafe MR.Vector_MRQuadraticForm3f_MRVertId._Underlying** MR.Const_DecimatePolylineSettings_MRVector3f.__ptr_storage_vertForms
protected

◆ __ref_storage_maxDeletedVertices

unsafe int* MR.Const_DecimatePolylineSettings_MRVector3f.__ref_storage_maxDeletedVertices
protected

◆ __ref_storage_maxEdgeLen

unsafe float* MR.Const_DecimatePolylineSettings_MRVector3f.__ref_storage_maxEdgeLen
protected

◆ __ref_storage_maxError

unsafe float* MR.Const_DecimatePolylineSettings_MRVector3f.__ref_storage_maxError
protected

◆ __ref_storage_optimizeVertexPos

unsafe bool* MR.Const_DecimatePolylineSettings_MRVector3f.__ref_storage_optimizeVertexPos
protected

◆ __ref_storage_stabilizer

unsafe float* MR.Const_DecimatePolylineSettings_MRVector3f.__ref_storage_stabilizer
protected

◆ __ref_storage_touchBdVertices

unsafe bool* MR.Const_DecimatePolylineSettings_MRVector3f.__ref_storage_touchBdVertices
protected

Property Documentation

◆ adjustCollapse

unsafe MR.Std.Const_Function_Void_From_MRUndirectedEdgeId_FloatRef_MRVector3fRef MR.Const_DecimatePolylineSettings_MRVector3f.adjustCollapse
getprotected set

The user can provide this optional callback for adjusting error introduced by this edge collapse and the collapse position.

On input the callback gets the squared error and position computed by standard means, and callback can modify any of them. The larger the error, the later this edge will be collapsed. This callback can be called from many threads in parallel and must be thread-safe. This callback can be called many times for each edge before real collapsing, and it is important to make the same adjustment.

◆ maxDeletedVertices

unsafe int MR.Const_DecimatePolylineSettings_MRVector3f.maxDeletedVertices
get

Limit on the number of deleted vertices.

◆ maxEdgeLen

unsafe float MR.Const_DecimatePolylineSettings_MRVector3f.maxEdgeLen
get

Maximal possible edge length created during decimation.

◆ maxError

unsafe float MR.Const_DecimatePolylineSettings_MRVector3f.maxError
get

Limit from above on the maximum distance from moved vertices to original contour.

◆ optimizeVertexPos

unsafe bool MR.Const_DecimatePolylineSettings_MRVector3f.optimizeVertexPos
get

if true then after each edge collapse the position of remaining vertex is optimized to minimize local shape change, if false then the edge is collapsed in one of its vertices, which keeps its position

◆ preCollapse

unsafe MR.Std.Const_Function_Bool_From_MREdgeId_ConstMRVector3fRef MR.Const_DecimatePolylineSettings_MRVector3f.preCollapse
getprotected set

The user can provide this optional callback that is invoked immediately before edge collapse;.

It receives the edge being collapsed: its destination vertex will disappear, and its origin vertex will get new position (provided as the second argument) after collapse; If the callback returns false, then the collapse is prohibited

◆ region

unsafe MR.? VertBitSet MR.Const_DecimatePolylineSettings_MRVector3f.region
get

Region of the polyline to be decimated, it is updated during the operation Remain nullptr to include the whole polyline.

◆ stabilizer

unsafe float MR.Const_DecimatePolylineSettings_MRVector3f.stabilizer
get

Stabilizer is dimensionless coefficient. The larger is stabilizer, the more Decimator will strive to retain the density of input points. If stabilizer is zero, then only the shape of input line will be preserved.

◆ touchBdVertices

unsafe bool MR.Const_DecimatePolylineSettings_MRVector3f.touchBdVertices
get

Whether to allow collapsing edges with at least one vertex on the end of not-closed polyline (or on region boundary if region is given); if touchBdVertices is false then boundary vertices are strictly fixed.

◆ vertForms

unsafe MR.? Vector_MRQuadraticForm3f_MRVertId MR.Const_DecimatePolylineSettings_MRVector3f.vertForms
get

If not null, then on input: if the vector is not empty then it is taken for initialization instead of form computation for all vertices; on output: quadratic form for each remaining vertex is returned there.


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