Classes | |
| struct | DistMapImproveDirectionParameters |
| struct | FindParams |
| Parameters that is used to find undercuts. More... | |
| struct | FixParams |
| Fix undercuts function parameters. More... | |
| struct | ImproveDirectionParameters |
Typedefs | |
| using | UndercutMetric = std::function<double( const FaceBitSet&, const FindParams& params )> |
Functions | |
| MRVOXELS_API MR_BIND_IGNORE Expected< void > | fixUndercuts (Mesh &mesh, const Vector3f &upDirection, float voxelSize=0.0f, float bottomExtension=0.0f) |
| MRVOXELS_API MR_BIND_IGNORE Expected< void > | fixUndercuts (Mesh &mesh, const FaceBitSet &selectedArea, const Vector3f &upDirection, float voxelSize=0.0f, float bottomExtension=0.0f) |
| MRVOXELS_API Expected< void > | fix (Mesh &mesh, const FixParams ¶ms) |
| MRVOXELS_API UndercutMetric | getUndercutAreaMetric (const Mesh &mesh) |
| returns the metric that computes total area of undercut faces | |
| MRVOXELS_API UndercutMetric | getUndercutAreaProjectionMetric (const Mesh &mesh) |
| returns the metric that computes summed absolute projected area of undercut | |
| MRVOXELS_API MR_BIND_IGNORE void | findUndercuts (const Mesh &mesh, const Vector3f &upDirection, FaceBitSet &outUndercuts) |
| Adds to. | |
| MRVOXELS_API MR_BIND_IGNORE void | findUndercuts (const Mesh &mesh, const Vector3f &upDirection, VertBitSet &outUndercuts) |
| Adds to. | |
| MRVOXELS_API MR_BIND_IGNORE double | findUndercuts (const Mesh &mesh, const Vector3f &upDirection, FaceBitSet &outUndercuts, const UndercutMetric &metric) |
| MRVOXELS_API double | find (const Mesh &mesh, const FindParams ¶ms, FaceBitSet &outUndercuts, const UndercutMetric &metric={}) |
| MRVOXELS_API void | find (const Mesh &mesh, const FindParams ¶ms, VertBitSet &outUndercuts) |
| Adds undercuts to. | |
| MRVOXELS_API double | scoreUndercuts (const Mesh &mesh, const Vector3f &upDirection, const Vector2i &resolution) |
| MRVOXELS_API Vector3f | improveDirection (const Mesh &mesh, const ImproveDirectionParameters ¶ms, const UndercutMetric &metric) |
| MRVOXELS_API Vector3f | distMapImproveDirection (const Mesh &mesh, const DistMapImproveDirectionParameters ¶ms) |
| using MR::FixUndercuts::UndercutMetric = std::function<double( const FaceBitSet&, const FindParams& params )> |
|
nodiscard |
Score candidates with distance maps, lower resolution -> faster score
| MRVOXELS_API double MR::FixUndercuts::find | ( | const Mesh & | mesh, |
| const FindParams & | params, | ||
| FaceBitSet & | outUndercuts, | ||
| const UndercutMetric & | metric = {} ) |
Adds undercuts to
| outUndercuts | if metric is set returns metric of found undercuts, otherwise returns DBL_MAX |
| MRVOXELS_API void MR::FixUndercuts::find | ( | const Mesh & | mesh, |
| const FindParams & | params, | ||
| VertBitSet & | outUndercuts ) |
Adds undercuts to.
| outUndercuts |
| MRVOXELS_API MR_BIND_IGNORE void MR::FixUndercuts::findUndercuts | ( | const Mesh & | mesh, |
| const Vector3f & | upDirection, | ||
| FaceBitSet & | outUndercuts ) |
Adds to.
| outUndercuts | undercut faces |
|
nodiscard |
Adds to
| outUndercuts | undercut faces Returns summary metric of undercut faces |
| MRVOXELS_API MR_BIND_IGNORE void MR::FixUndercuts::findUndercuts | ( | const Mesh & | mesh, |
| const Vector3f & | upDirection, | ||
| VertBitSet & | outUndercuts ) |
Adds to.
| outUndercuts | undercut vertices |
| MRVOXELS_API Expected< void > MR::FixUndercuts::fix | ( | Mesh & | mesh, |
| 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
| MRVOXELS_API MR_BIND_IGNORE Expected< void > MR::FixUndercuts::fixUndercuts | ( | Mesh & | mesh, |
| const FaceBitSet & | selectedArea, | ||
| const Vector3f & | upDirection, | ||
| float | voxelSize = 0.0f, | ||
| float | bottomExtension = 0.0f ) |
| MRVOXELS_API MR_BIND_IGNORE Expected< void > MR::FixUndercuts::fixUndercuts | ( | Mesh & | mesh, |
| const Vector3f & | upDirection, | ||
| float | voxelSize = 0.0f, | ||
| float | bottomExtension = 0.0f ) |
|
nodiscard |
returns the metric that computes total area of undercut faces
|
nodiscard |
returns the metric that computes summed absolute projected area of undercut
|
nodiscard |
|
nodiscard |
Fast score undercuts projected area via distance map with given resolution lower resolution means lower precision, but faster work