20 constexpr static const char*
TypeName() noexcept {
return "ObjectGcode"; }
21 virtual const char*
typeName()
const override {
return TypeName(); }
23 constexpr static const char*
ClassName() noexcept {
return "G-code"; }
24 virtual std::string
className()
const override {
return ClassName(); }
36 virtual const std::shared_ptr<GcodeSource>&
gcodeSource()
const {
return gcodeSource_; }
38 virtual const std::vector<GcodeProcessor::MoveAction>&
actionList()
const {
return actionList_; }
80 std::shared_ptr<GcodeSource> gcodeSource_;
81 std::vector<GcodeProcessor::MoveAction> actionList_;
83 void updateHeapUsageCache_();
84 size_t nonTrivialHeapUsageCache_{ 0 };
86 std::vector<int> segmentToSourceLineMap_;
89 float maxFeedrate_ = 0.f;
90 bool feedrateGradientEnabled_ =
true;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:84
class with CNC machine emulation settings
Definition MRCNCMachineSettings.h:16
Definition MRObjectGcode.h:14
static constexpr const char * ClassNameInPlural() noexcept
Definition MRObjectGcode.h:26
MRMESH_API void setIdleColor(const Color &color)
virtual MRMESH_API void setGcodeSource(const std::shared_ptr< GcodeSource > &gcodeSource)
virtual const CNCMachineSettings & getCNCMachineSettings() const
Definition MRObjectGcode.h:33
const Color & getIdleColor() const
Definition MRObjectGcode.h:54
virtual MRMESH_API bool select(bool isSelected) override
selects the object, returns true if value changed, otherwise returns false
virtual const std::vector< GcodeProcessor::MoveAction > & actionList() const
Definition MRObjectGcode.h:38
virtual MRMESH_API void swapBase_(Object &other) override
swaps this object with other
virtual const std::vector< int > & segmentToSourceLineMap() const
Definition MRObjectGcode.h:40
MRMESH_API void switchFeedrateGradient(bool isFeedrateGradientEnabled)
virtual std::string className() const override
Definition MRObjectGcode.h:24
virtual MRMESH_API size_t heapBytes() const override
returns the amount of memory this object occupies on heap
bool isFeedrateGradient() const
Definition MRObjectGcode.h:51
ObjectGcode(ProtectedStruct, const ObjectGcode &obj)
Definition MRObjectGcode.h:45
virtual MRMESH_API std::vector< std::string > getInfoLines() const override
return several info lines that can better describe the object in the UI
virtual MRMESH_API void serializeFields_(Json::Value &root) const override
serializeFields_: serializeBaseFields_ plus polyline serialization
virtual MRMESH_API void setCNCMachineSettings(const CNCMachineSettings &cncSettings)
virtual const std::shared_ptr< GcodeSource > & gcodeSource() const
Definition MRObjectGcode.h:36
ObjectGcode(const ObjectGcode &other)=default
virtual MRMESH_API void setFrontColor(const Color &color, bool selected, ViewportId viewportId={}) override
sets color of object when it is selected/not-selected (depending on argument) in given viewport
ObjectGcode & operator=(ObjectGcode &&)=default
virtual std::string classNameInPlural() const override
Definition MRObjectGcode.h:27
static constexpr const char * TypeName() noexcept
Definition MRObjectGcode.h:20
virtual MRMESH_API std::shared_ptr< Object > shallowClone() const override
virtual MRMESH_API void swapSignals_(Object &other) override
virtual MRMESH_API void setDirtyFlags(uint32_t mask, bool invalidateCaches=true) override
ObjectGcode(ObjectGcode &&)=default
virtual const char * typeName() const override
Definition MRObjectGcode.h:21
virtual MRMESH_API std::shared_ptr< Object > clone() const override
static constexpr const char * ClassName() noexcept
Definition MRObjectGcode.h:23
GcodeChangedSignal gcodeChangedSignal
Definition MRObjectGcode.h:58
MRMESH_API void deserializeFields_(const Json::Value &root) override
deserializeFields_: deserializeBaseFields_ plus polyline deserialization
Definition MRObjectLinesHolder.h:27
named object in the data model
Definition MRObject.h:62
Definition MRViewportId.h:16
Definition MRCameraOrientationPlugin.h:8
std::vector< std::string > GcodeSource
Definition MRMesh/MRMeshFwd.h:669
Definition MRMesh/MRColor.h:9
Definition MRObject.h:279