MeshLib C++ Docs
Loading...
Searching...
No Matches
MRCudaSweptVolume.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
config.h
"
4
#ifndef MRCUDA_NO_VOXELS
5
#include "exports.h"
6
7
#include "
MRMesh/MREndMill.h
"
8
#include "
MRVoxels/MRSweptVolume.h
"
9
10
#include <vector>
11
12
namespace
MR::Cuda
13
{
14
16
class
MRCUDA_CLASS
ComputeToolDistance
:
public
IComputeToolDistance
17
{
18
public
:
19
MRCUDA_API
ComputeToolDistance
();
20
MRCUDA_API
~ComputeToolDistance
()
override
;
21
22
MRCUDA_API Expected<Vector3i>
prepare
(
const
Vector3i
& dims,
const
Polyline3
& toolpath,
23
const
EndMillTool
& toolSpec )
override
;
24
MRCUDA_API Expected<Vector3i>
prepare
(
const
Vector3i
& dims,
const
Polyline3
& toolpath,
25
const
Polyline2
& toolProfile )
override
;
26
27
MRCUDA_API Expected<void>
computeToolDistance
( std::vector<float>& output,
const
Vector3i
& dims,
28
float
voxelSize,
const
Vector3f
& origin,
float
padding )
const override
;
29
30
private
:
31
struct
Impl;
32
std::unique_ptr<Impl> impl_;
33
};
34
35
}
// namespace MR::Cuda
36
37
#endif
config.h
MREndMill.h
MRSweptVolume.h
MR::Cuda::ComputeToolDistance
CUDA implementation of tool distance computation.
Definition
MRCudaSweptVolume.h:17
MR::Cuda::ComputeToolDistance::prepare
MRCUDA_API Expected< Vector3i > prepare(const Vector3i &dims, const Polyline3 &toolpath, const Polyline2 &toolProfile) override
MR::Cuda::ComputeToolDistance::computeToolDistance
MRCUDA_API Expected< void > computeToolDistance(std::vector< float > &output, const Vector3i &dims, float voxelSize, const Vector3f &origin, float padding) const override
Compute tool distance.
MR::Cuda::ComputeToolDistance::~ComputeToolDistance
MRCUDA_API ~ComputeToolDistance() override
MR::Cuda::ComputeToolDistance::ComputeToolDistance
MRCUDA_API ComputeToolDistance()
MR::Cuda::ComputeToolDistance::prepare
MRCUDA_API Expected< Vector3i > prepare(const Vector3i &dims, const Polyline3 &toolpath, const EndMillTool &toolSpec) override
MR::EndMillTool
Definition
MREndMill.h:39
MR::IComputeToolDistance
Definition
MRSweptVolume.h:52
MR::Polyline2
MR::Polyline3
MR::Cuda
Definition
MRCudaBasic.h:11
MR::Vector3f
MR::Vector3i
MeshLib
source
MRCuda
MRCudaSweptVolume.h
Generated by
1.11.0