MeshLib C# Docs
Loading...
Searching...
No Matches
MR.FixUndercuts Class Reference

Public Types

typedef std::function< double(const FaceBitSet &, const FindParams &params)> UndercutMetric
 

Static Public Member Functions

static unsafe void fix (MR.Mesh mesh, MR.FixUndercuts.Const_FixParams params_)
 Fixes undercut areas by building vertical walls under it, algorithm is performed in voxel space, so the mesh is completely rebuilt after this operation Generated from function MR.FixUndercuts.fix.
 
static unsafe MR.Std.Function_DoubleFuncFromConstMRFaceBitSetRefConstMRFixUndercutsFindParamsRef getUndercutAreaMetric (MR.Const_Mesh mesh)
 returns the metric that computes total area of undercut faces Generated from function MR.FixUndercuts.getUndercutAreaMetric.
 
static unsafe MR.Std.Function_DoubleFuncFromConstMRFaceBitSetRefConstMRFixUndercutsFindParamsRef getUndercutAreaProjectionMetric (MR.Const_Mesh mesh)
 returns the metric that computes summed absolute projected area of undercut Generated from function MR.FixUndercuts.getUndercutAreaProjectionMetric.
 
static unsafe double find (MR.Const_Mesh mesh, MR.FixUndercuts.Const_FindParams params_, MR.FaceBitSet outUndercuts, MR.Std.Const_Function_DoubleFuncFromConstMRFaceBitSetRefConstMRFixUndercutsFindParamsRef? metric=null)
 Adds undercuts to.
 
static unsafe void find (MR.Const_Mesh mesh, MR.FixUndercuts.Const_FindParams params_, MR.VertBitSet outUndercuts)
 Adds undercuts to.
 
static unsafe double scoreUndercuts (MR.Const_Mesh mesh, in MR.Vector3f upDirection, in MR.Vector2i resolution)
 Fast score undercuts projected area via distance map with given resolution lower resolution means lower precision, but faster work.
 
static unsafe MR.Vector3f improveDirection (MR.Const_Mesh mesh, MR.FixUndercuts.Const_ImproveDirectionParameters params_, MR.Std.Const_Function_DoubleFuncFromConstMRFaceBitSetRefConstMRFixUndercutsFindParamsRef metric)
 
static unsafe MR.Vector3f distMapImproveDirection (MR.Const_Mesh mesh, MR.FixUndercuts.Const_DistMapImproveDirectionParameters params_)
 Score candidates with distance maps, lower resolution -> faster score.
 

Member Function Documentation

◆ distMapImproveDirection()

static unsafe MR.Vector3f MR.FixUndercuts.distMapImproveDirection ( MR.Const_Mesh mesh,
MR.FixUndercuts.Const_DistMapImproveDirectionParameters params_ )
inlinestatic

Score candidates with distance maps, lower resolution -> faster score.

Note
does not support wallAngle yet Generated from function MR.FixUndercuts.distMapImproveDirection.

◆ find() [1/2]

static unsafe double MR.FixUndercuts.find ( MR.Const_Mesh mesh,
MR.FixUndercuts.Const_FindParams params_,
MR.FaceBitSet outUndercuts,
MR.Std.Const_Function_DoubleFuncFromConstMRFaceBitSetRefConstMRFixUndercutsFindParamsRef? metric = null )
inlinestatic

Adds undercuts to.

Parameters
outUndercutsif metric is set returns metric of found undercuts, otherwise returns DBL_MAX Generated from function MR.FixUndercuts.find. Parameter metric defaults to {}.

◆ find() [2/2]

static unsafe void MR.FixUndercuts.find ( MR.Const_Mesh mesh,
MR.FixUndercuts.Const_FindParams params_,
MR.VertBitSet outUndercuts )
inlinestatic

Adds undercuts to.

Parameters
outUndercutsGenerated from function MR.FixUndercuts.find.

◆ improveDirection()

Note
does not support wallAngle yet
Top view: / __/ -----> maximum radial line Side view: | / _/ / / \/ \ \ | / _/ - maxBaseAngle |–|---—|–| | / _/ difference between two angles is baseAngleStep \ _/_/ / | / _/ __/____/ |/_/ This picture shows polarAngle = 60 deg Generated from function MR.FixUndercuts.improveDirection.

◆ scoreUndercuts()

static unsafe double MR.FixUndercuts.scoreUndercuts ( MR.Const_Mesh mesh,
in MR.Vector3f upDirection,
in MR.Vector2i resolution )
inlinestatic

Fast score undercuts projected area via distance map with given resolution lower resolution means lower precision, but faster work.

Note
does not support wallAngle yet Generated from function MR.FixUndercuts.scoreUndercuts.

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