3#include "MRVoxelsFwd.h"
20MRVOXELS_API Box3f
computeWorkArea(
const Polyline3& toolpath,
const MeshPart& tool );
68 std::vector<float>& output,
69 const Vector3i& dims,
float voxelSize,
const Vector3f& origin,
virtual Expected< void > computeToolDistance(std::vector< float > &output, const Vector3i &dims, float voxelSize, const Vector3f &origin, float padding) const =0
Compute tool distance.
float voxelSize
Definition MRSweptVolume.h:38
const EndMillTool * toolSpec
Definition MRSweptVolume.h:35
virtual ~IComputeToolDistance()=default
const Polyline3 & path
toolpath
Definition MRSweptVolume.h:29
size_t memoryLimit
(distance volume) max memory amount used for the distance volume, zero for no limits
Definition MRSweptVolume.h:40
tl::expected< T, E > Expected
Definition MRExpected.h:31
ProgressCallback cb
progress callback
Definition MRSweptVolume.h:42
MRVOXELS_API Box3f computeWorkArea(const Polyline3 &toolpath, const MeshPart &tool)
Compute bounding box for swept volume for given tool and toolpath.
virtual Expected< Vector3i > prepare(const Vector3i &dims, const Polyline3 &toolpath, const EndMillTool &toolSpec)=0
MeshPart toolMesh
tool mesh
Definition MRSweptVolume.h:31
MRVOXELS_API Expected< Mesh > computeSweptVolumeWithCustomToolDistance(IComputeToolDistance &comp, const ComputeSweptVolumeParameters ¶ms)
MRVOXELS_API Expected< Mesh > computeSweptVolumeWithMeshMovement(const ComputeSweptVolumeParameters ¶ms)
virtual Expected< Vector3i > prepare(const Vector3i &dims, const Polyline3 &toolpath, const Polyline2 &toolProfile)=0
MRVOXELS_API Box3i computeGridBox(const Box3f &workArea, float voxelSize)
Compute required voxel volume's dimensions for given work area.
MRVOXELS_API Expected< Mesh > computeSweptVolumeWithDistanceVolume(const ComputeSweptVolumeParameters ¶ms)
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Parameters for computeSweptVolume* functions.
Definition MRSweptVolume.h:27