23 constexpr static const char*
StaticTypeName() noexcept {
return "ObjectGcode"; }
39 virtual const std::shared_ptr<GcodeSource>&
gcodeSource()
const {
return gcodeSource_; }
41 virtual const std::vector<GcodeProcessor::MoveAction>&
actionList()
const {
return actionList_; }
83 std::shared_ptr<GcodeSource> gcodeSource_;
84 std::vector<GcodeProcessor::MoveAction> actionList_;
86 void updateHeapUsageCache_();
87 size_t nonTrivialHeapUsageCache_{ 0 };
89 std::vector<int> segmentToSourceLineMap_;
92 float maxFeedrate_ = 0.f;
93 bool feedrateGradientEnabled_ =
true;
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
class with CNC machine emulation settings
Definition MRCNCMachineSettings.h:19
named object in the data model
Definition MRObject.h:62
virtual bool isSelected() const
Definition MRObject.h:191
Definition MRViewportId.h:16
virtual void setDirtyFlags(uint32_t mask, bool invalidateCaches=true) override
reinterpret_cast to avoid making a copy of shared_ptr
std::vector< std::string > GcodeSource
Definition MRMeshFwd.h:684
virtual const CNCMachineSettings & getCNCMachineSettings() const
Definition MRObjectGcode.h:36
const Color & getIdleColor() const
Definition MRObjectGcode.h:57
virtual const std::vector< GcodeProcessor::MoveAction > & actionList() const
get action list (produced from g-code source)
Definition MRObjectGcode.h:41
static constexpr const char * StaticTypeName() noexcept
Definition MRObjectGcode.h:23
virtual const std::vector< int > & segmentToSourceLineMap() const
get mapping of tool path polyline segment id to source line number of g-code source
Definition MRObjectGcode.h:43
virtual 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
virtual std::string className() const override
Definition MRObjectGcode.h:27
void setIdleColor(const Color &color)
bool isFeedrateGradient() const
Definition MRObjectGcode.h:54
void switchFeedrateGradient(bool isFeedrateGradientEnabled)
set drawing feedrate as gradient of brightness
virtual std::shared_ptr< Object > clone() const override
ObjectGcode(ProtectedStruct, const ObjectGcode &obj)
Definition MRObjectGcode.h:48
virtual std::vector< std::string > getInfoLines() const override
return several info lines that can better describe the object in the UI
virtual void setGcodeSource(const std::shared_ptr< GcodeSource > &gcodeSource)
virtual void serializeFields_(Json::Value &root) const override
serializeFields_: serializeBaseFields_ plus polyline serialization
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
virtual void swapBase_(Object &other) override
swaps this object with other
virtual const std::shared_ptr< GcodeSource > & gcodeSource() const
Definition MRObjectGcode.h:39
virtual std::shared_ptr< Object > shallowClone() const override
ObjectGcode(const ObjectGcode &other)=default
ObjectGcode & operator=(ObjectGcode &&)=default
virtual std::string classNameInPlural() const override
Definition MRObjectGcode.h:30
virtual bool select(bool isSelected) override
selects the object, returns true if value changed, otherwise returns false
static constexpr const char * StaticClassNameInPlural() noexcept
Definition MRObjectGcode.h:29
ObjectGcode(ObjectGcode &&)=default
virtual const char * typeName() const override
Definition MRObjectGcode.h:24
virtual void swapSignals_(Object &other) override
virtual void setCNCMachineSettings(const CNCMachineSettings &cncSettings)
void deserializeFields_(const Json::Value &root) override
deserializeFields_: deserializeBaseFields_ plus polyline deserialization
Signal< void(uint32_t mask)> GcodeChangedSignal
signal about gcode changing, triggered in setDirtyFlag
Definition MRObjectGcode.h:60
static constexpr const char * StaticClassName() noexcept
Definition MRObjectGcode.h:26
GcodeChangedSignal gcodeChangedSignal
Definition MRObjectGcode.h:61
@ other
Angle, normally float. Measure in radians.
Definition MRFeatureObject.h:27
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRObject.h:284