MeshLib C++ Docs
Loading...
Searching...
No Matches
MRRadiusCompensation.h
Go to the documentation of this file.
1#pragma once
2#include "MRMeshFwd.h"
3#include "MRVector3.h"
4#include "MRVector2.h"
5#include "MRExpected.h"
6
7namespace MR
8{
9
12{
14 Vector3f direction;
15
17 float toolRadius{ 0.0f };
18
23 FaceBitSet* region{ nullptr };
24
26 int maxIterations{ 100 };
27
30
33
35 float relaxForce = 0.3f;
36
38};
39
44
45}
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:79
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:636
tl::expected< T, E > Expected
Definition MRExpected.h:59
MRMESH_API Expected< void > compensateRadius(Mesh &mesh, const CompensateRadiusParams &params)
structure with parameters for compensateRadius function
Definition MRRadiusCompensation.h:12
int relaxIterations
how many iterations of relax is applied on each compensation iteration
Definition MRRadiusCompensation.h:32
int maxIterations
maximum iteration of applying algorithm (each iteration improves result a little bit)
Definition MRRadiusCompensation.h:26
float relaxForce
force of relaxations on each compensation iteration
Definition MRRadiusCompensation.h:35
Vector3f direction
Z direction of milling tool.
Definition MRRadiusCompensation.h:14
FaceBitSet * region
Definition MRRadiusCompensation.h:23
ProgressCallback callback
Definition MRRadiusCompensation.h:37
int relaxExpansion
how many hops to expand around each moved vertex for relaxation
Definition MRRadiusCompensation.h:29
float toolRadius
radius of spherical tool
Definition MRRadiusCompensation.h:17
Definition MRMesh/MRMesh.h:23