#include <MRMesh/MRBoxNesting.h>
Public Attributes | |
| bool | allow3dNesting { true } |
| if true allows placing objects over the bottom plane | |
| bool | allowRotation { false } |
| set false to keep original XY orientation | |
| bool | volumeBasedOrder = true |
| if true - nests objects in the order of decreasing volume, otherwise nest in the input order | |
| bool | checkLessCombinations { false } |
| reduces nesting candidate options for speedup | |
| int | iterationLimit = 10'000'000 |
| limit maximum number of tries, not to freeze for too long in this function | |
| std::shared_ptr< IBoxNestingPriority > | priorityMetric |
| const Vector3f * | expansionFactor { nullptr } |
| optional input expansion of boxes (useful to compensate shrinkage of material) | |
| const std::vector< Box3f > * | preNestedVolumes { nullptr } |
| if not-nullptr contains boxes that are fixed in the nest and should not be intersected by floating (input) meshes | |
| const std::vector< BoxNestingCorner > * | additinalSocketCorners { nullptr } |
| user might force these sockets to be considered as corners for placing candidates | |
| ProgressCallback | cb |
| callback indicating progress of the nesting | |