5#include "MRPch/MRJson.h"
26 static int getAxesCount() {
return int( RotationAxisName::C ) + 1; }
42 void setHomePosition(
const Vector3f& homePosition ) { homePosition_ = homePosition; }
53 std::array<Vector3f, 3> rotationAxes_ = { Vector3f::minusX(), Vector3f::minusY(), Vector3f::plusZ() };
55 std::array<RotationLimits, 3> rotationLimits_;
57 RotationAxesOrder rotationAxesOrder_ = { RotationAxisName::A, RotationAxisName::B, RotationAxisName::C };
59 float feedrateIdle_ = 10000.f;
60 Vector3f homePosition_;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:50
class with CNC machine emulation settings
Definition MRCNCMachineSettings.h:14
bool operator!=(const CNCMachineSettings &rhs)
Definition MRCNCMachineSettings.h:46
static int getAxesCount()
Definition MRCNCMachineSettings.h:26
MRMESH_API bool operator==(const CNCMachineSettings &rhs)
const Vector3f & getHomePosition() const
Definition MRCNCMachineSettings.h:43
MRMESH_API const Vector3f & getRotationAxis(RotationAxisName paramName) const
float getFeedrateIdle() const
Definition MRCNCMachineSettings.h:41
const RotationAxesOrder & getRotationOrder() const
Definition MRCNCMachineSettings.h:37
MRMESH_API void setRotationOrder(const RotationAxesOrder &rotationAxesOrder)
RotationAxisName
Definition MRCNCMachineSettings.h:18
std::vector< RotationAxisName > RotationAxesOrder
Definition MRCNCMachineSettings.h:23
MRMESH_API void setRotationLimits(RotationAxisName paramName, const RotationLimits &rotationLimits)
MRMESH_API void setFeedrateIdle(float feedrateIdle)
MRMESH_API const RotationLimits & getRotationLimits(RotationAxisName paramName) const
MRMESH_API bool loadFromJson(const Json::Value &jsonValue)
void setHomePosition(const Vector3f &homePosition)
Definition MRCNCMachineSettings.h:42
MRMESH_API Json::Value saveToJson() const
std::optional< Vector2f > RotationLimits
Definition MRCNCMachineSettings.h:24
MRMESH_API void setRotationAxis(RotationAxisName paramName, const Vector3f &rotationAxis)
Definition MRCameraOrientationPlugin.h:8