|
Vector3f | distMapImproveDirection (Mesh mesh, FixUndercuts.DistMapImproveDirectionParameters params) |
|
float | find (Mesh mesh, FixUndercuts.FindParams params, FaceBitSet outUndercuts, func_double_from_TaggedBitSet_FaceTag_FixUndercuts_FindParams metric='{}') |
|
None | find (Mesh mesh, FixUndercuts.FindParams params, VertBitSet outUndercuts) |
|
None | findUndercuts (Mesh mesh, Vector3f upDirection, FaceBitSet outUndercuts) |
|
None | findUndercuts (Mesh mesh, Vector3f upDirection, VertBitSet outUndercuts) |
|
float | findUndercuts (Mesh mesh, Vector3f upDirection, FaceBitSet outUndercuts, func_double_from_TaggedBitSet_FaceTag_FixUndercuts_FindParams metric) |
|
None | fix (Mesh mesh, FixUndercuts.FixParams params) |
|
None | fixUndercuts (Mesh mesh, Vector3f upDirection, float voxelSize=0.0, float bottomExtension=0.0) |
|
None | fixUndercuts (Mesh mesh, FaceBitSet selectedArea, Vector3f upDirection, float voxelSize=0.0, float bottomExtension=0.0) |
|
func_double_from_TaggedBitSet_FaceTag_FixUndercuts_FindParams | getUndercutAreaMetric (Mesh mesh) |
|
func_double_from_TaggedBitSet_FaceTag_FixUndercuts_FindParams | getUndercutAreaProjectionMetric (Mesh mesh) |
|
Vector3f | improveDirection (Mesh mesh, FixUndercuts.ImproveDirectionParameters params, func_double_from_TaggedBitSet_FaceTag_FixUndercuts_FindParams metric) |
|
float | scoreUndercuts (Mesh mesh, Vector3f upDirection, Vector2i resolution) |
|
◆ distMapImproveDirection()
Score candidates with distance maps, lower resolution -> faster score
\\note does not support wallAngle yet
◆ find() [1/2]
Adds undercuts to \\param outUndercuts
if metric is set returns metric of found undercuts, otherwise returns DBL_MAX
◆ find() [2/2]
Adds undercuts to \\param outUndercuts
◆ findUndercuts() [1/3]
Adds to \\param outUndercuts undercut faces
◆ findUndercuts() [2/3]
Adds to \\param outUndercuts undercut faces
Returns summary metric of undercut faces
◆ findUndercuts() [3/3]
Adds to \\param outUndercuts undercut vertices
◆ fix()
Fixes undercut areas by building vertical walls under it,
algorithm is performed in voxel space, so the mesh is completely rebuilt after this operation
◆ fixUndercuts() [1/2]
None mrmeshpy.FixUndercuts.fixUndercuts |
( |
Mesh | mesh, |
|
|
FaceBitSet | selectedArea, |
|
|
Vector3f | upDirection, |
|
|
float | voxelSize = 0.0, |
|
|
float | bottomExtension = 0.0 ) |
|
static |
Changes mesh:
Fills all holes first, then:
fixes undercuts (in selected area) via prolonging widest points down
Requires to update RenderObject after using
upDirection is in mesh space
voxelSize - size of voxel in mesh rasterization, precision grows with lower voxelSize
bottomExtension - this parameter specifies how long should bottom prolongation be, if (bottomExtension <= 0) bottomExtension = 2*voxelSize
if mesh is not closed this is used to prolong hole and make bottom
if voxelSize == 0.0f it will be counted automaticly
◆ fixUndercuts() [2/2]
None mrmeshpy.FixUndercuts.fixUndercuts |
( |
Mesh | mesh, |
|
|
Vector3f | upDirection, |
|
|
float | voxelSize = 0.0, |
|
|
float | bottomExtension = 0.0 ) |
|
static |
Changes mesh:
Fills all holes first, then:
fixes undercuts via prolonging widest points down
Requires to update RenderObject after using
upDirection is in mesh space
voxelSize - size of voxel in mesh rasterization, precision grows with lower voxelSize
bottomExtension - this parameter specifies how long should bottom prolongation be, if (bottomExtension <= 0) bottomExtension = 2*voxelSize
if mesh is not closed this is used to prolong hole and make bottom
if voxelSize == 0.0f it will be counted automaticly
◆ getUndercutAreaMetric()
returns the metric that computes total area of undercut faces
◆ getUndercutAreaProjectionMetric()
returns the metric that computes summed absolute projected area of undercut
◆ improveDirection()
Parallel finds best of several directions defined by ImproveDirectionParameters struct
\\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
◆ scoreUndercuts()
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
The documentation for this class was generated from the following file: