9namespace Json {
class Value; }
47 void setHomePosition(
const Vector3f& homePosition ) { homePosition_ = homePosition; }
58 std::array<Vector3f, 3> rotationAxes_ = { Vector3f::minusX(), Vector3f::minusY(), Vector3f::plusZ() };
60 std::array<RotationLimits, 3> rotationLimits_;
62 RotationAxesOrder rotationAxesOrder_ = { RotationAxisName::A, RotationAxisName::B, RotationAxisName::C };
64 float feedrateIdle_ = 10000.f;
65 Vector3f homePosition_;
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
class with CNC machine emulation settings
Definition MRCNCMachineSettings.h:19
bool operator!=(const CNCMachineSettings &rhs)
Definition MRCNCMachineSettings.h:51
bool operator==(const CNCMachineSettings &rhs)
static int getAxesCount()
Definition MRCNCMachineSettings.h:31
const Vector3f & getHomePosition() const
Definition MRCNCMachineSettings.h:48
const Vector3f & getRotationAxis(RotationAxisName paramName) const
void setFeedrateIdle(float feedrateIdle)
Json::Value saveToJson() const
void setRotationOrder(const RotationAxesOrder &rotationAxesOrder)
duplicated values will be removed (ABAAC - > ABC)
float getFeedrateIdle() const
Definition MRCNCMachineSettings.h:46
void setRotationAxis(RotationAxisName paramName, const Vector3f &rotationAxis)
rotationAxis length will be more then 0.01
bool loadFromJson(const Json::Value &jsonValue)
void setRotationLimits(RotationAxisName paramName, const RotationLimits &rotationLimits)
const RotationAxesOrder & getRotationOrder() const
Definition MRCNCMachineSettings.h:42
RotationAxisName
enumeration of axes of rotation
Definition MRCNCMachineSettings.h:23
std::vector< RotationAxisName > RotationAxesOrder
Definition MRCNCMachineSettings.h:28
const RotationLimits & getRotationLimits(RotationAxisName paramName) const
void setHomePosition(const Vector3f &homePosition)
Definition MRCNCMachineSettings.h:47
std::optional< Vector2f > RotationLimits
Definition MRCNCMachineSettings.h:29
@ C
Definition MRCNCMachineSettings.h:26
@ A
Definition MRCNCMachineSettings.h:24
@ B
Definition MRCNCMachineSettings.h:25
only for bindings generation
Definition MRCameraOrientationPlugin.h:8