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

Public Member Functions

unsafe DecimatePolylineSettings_MRVector2f ()
 Constructs an empty (default-constructed) instance.
 
unsafe DecimatePolylineSettings_MRVector2f (float maxError, float maxEdgeLen, float stabilizer, bool optimizeVertexPos, int maxDeletedVertices, MR.VertBitSet? region, bool touchBdVertices, MR.Std._ByValue_Function_BoolFuncFromMREdgeIdConstMRVector2fRef preCollapse, MR.Std._ByValue_Function_VoidFuncFromMRUndirectedEdgeIdFloatRefMRVector2fRef adjustCollapse, MR.Vector_MRQuadraticForm2f_MRVertId? vertForms)
 Constructs MR.DecimatePolylineSettings<MR.Vector2f> elementwise.
 
unsafe DecimatePolylineSettings_MRVector2f (MR._ByValue_DecimatePolylineSettings_MRVector2f _other)
 Generated from constructor MR.DecimatePolylineSettings<MR.Vector2f>::DecimatePolylineSettings.
 
unsafe MR.DecimatePolylineSettings_MRVector2f assign (MR._ByValue_DecimatePolylineSettings_MRVector2f _other)
 Generated from method MR.DecimatePolylineSettings<MR.Vector2f>::operator=.
 
- Public Member Functions inherited from MR.Const_DecimatePolylineSettings_MRVector2f
virtual void Dispose ()
 
unsafe Const_DecimatePolylineSettings_MRVector2f ()
 Constructs an empty (default-constructed) instance.
 
unsafe Const_DecimatePolylineSettings_MRVector2f (float maxError, float maxEdgeLen, float stabilizer, bool optimizeVertexPos, int maxDeletedVertices, MR.VertBitSet? region, bool touchBdVertices, MR.Std._ByValue_Function_BoolFuncFromMREdgeIdConstMRVector2fRef preCollapse, MR.Std._ByValue_Function_VoidFuncFromMRUndirectedEdgeIdFloatRefMRVector2fRef adjustCollapse, MR.Vector_MRQuadraticForm2f_MRVertId? vertForms)
 Constructs MR.DecimatePolylineSettings<MR.Vector2f> elementwise.
 
unsafe Const_DecimatePolylineSettings_MRVector2f (MR._ByValue_DecimatePolylineSettings_MRVector2f _other)
 Generated from constructor MR.DecimatePolylineSettings<MR.Vector2f>::DecimatePolylineSettings.
 

Properties

new unsafe ref float maxError [get]
 Limit from above on the maximum distance from moved vertices to original contour.
 
new unsafe ref float maxEdgeLen [get]
 Maximal possible edge length created during decimation.
 
new unsafe ref float stabilizer [get]
 
new unsafe ref bool optimizeVertexPos [get]
 
new unsafe ref int maxDeletedVertices [get]
 Limit on the number of deleted vertices.
 
new unsafe MR.? VertBitSet region [get, set]
 
new unsafe ref bool touchBdVertices [get]
 
new unsafe MR.Std.Function_BoolFuncFromMREdgeIdConstMRVector2fRef preCollapse [get]
 The user can provide this optional callback that is invoked immediately before edge collapse;.
 
new unsafe MR.Std.Function_VoidFuncFromMRUndirectedEdgeIdFloatRefMRVector2fRef adjustCollapse [get]
 The user can provide this optional callback for adjusting error introduced by this edge collapse and the collapse position.
 
new unsafe MR.? Vector_MRQuadraticForm2f_MRVertId vertForms [get, set]
 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.
 
- Properties inherited from MR.Const_DecimatePolylineSettings_MRVector2f
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]
 
unsafe bool optimizeVertexPos [get]
 
unsafe int maxDeletedVertices [get]
 Limit on the number of deleted vertices.
 
unsafe MR.? VertBitSet region [get]
 
unsafe bool touchBdVertices [get]
 
unsafe MR.Std.Const_Function_BoolFuncFromMREdgeIdConstMRVector2fRef preCollapse [get]
 The user can provide this optional callback that is invoked immediately before edge collapse;.
 
unsafe MR.Std.Const_Function_VoidFuncFromMRUndirectedEdgeIdFloatRefMRVector2fRef adjustCollapse [get]
 The user can provide this optional callback for adjusting error introduced by this edge collapse and the collapse position.
 
unsafe MR.? Vector_MRQuadraticForm2f_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.
 
- Properties inherited from MR.Misc.Object< Const_DecimatePolylineSettings_MRVector2f >
virtual bool _IsOwning [get]
 Returns true if this is an owning instance, and when disposed, will destroy the underlying C++ instance. If false, we assume that the underlying C++ instance will live long enough.
 

Additional Inherited Members

- Protected Member Functions inherited from MR.Const_DecimatePolylineSettings_MRVector2f
virtual unsafe void Dispose (bool disposing)
 
- Protected Attributes inherited from MR.Misc.Object< Const_DecimatePolylineSettings_MRVector2f >
bool _IsOwningVal
 

Property Documentation

◆ adjustCollapse

new unsafe MR.Std.Function_VoidFuncFromMRUndirectedEdgeIdFloatRefMRVector2fRef MR.DecimatePolylineSettings_MRVector2f.adjustCollapse
get

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.

◆ optimizeVertexPos

new unsafe ref bool MR.DecimatePolylineSettings_MRVector2f.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

new unsafe MR.Std.Function_BoolFuncFromMREdgeIdConstMRVector2fRef MR.DecimatePolylineSettings_MRVector2f.preCollapse
get

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

new unsafe MR.? VertBitSet MR.DecimatePolylineSettings_MRVector2f.region
getset

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

◆ stabilizer

new unsafe ref float MR.DecimatePolylineSettings_MRVector2f.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

new unsafe ref bool MR.DecimatePolylineSettings_MRVector2f.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


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