19 constexpr static const
char* TypeName() noexcept {
return "DistanceMeasurementObject"; }
20 const char*
typeName()
const override {
return TypeName(); }
22 constexpr static const char*
ClassName() noexcept {
return "Distance"; }
23 virtual std::string
className()
const override {
return ClassName(); }
55 euclideanWithSignedDeltasPerAxis,
56 euclideanWithAbsoluteDeltasPerAxis,
99 bool isNegative_ =
false;
105 mutable std::optional<float> cachedValue_;
107 std::optional<ComparisonTolerance> tolerance_;
109 std::optional<float> referenceValue_;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:84
Definition MRDistanceMeasurementObject.h:11
virtual MRMESH_API void setLocalDelta(const MR::Vector3f &delta)
MRMESH_API Vector3f getLocalPoint() const
static constexpr const char * ClassName() noexcept
Definition MRDistanceMeasurementObject.h:22
MRMESH_API void setComparisonTolerance(std::size_t i, std::optional< ComparisonTolerance > newTolerance) override
virtual MRMESH_API void setLocalPoint(const MR::Vector3f &point)
DistanceMeasurementObject(const DistanceMeasurementObject &other)=default
virtual std::string classNameInPlural() const override
Definition MRDistanceMeasurementObject.h:26
MRMESH_API void deserializeFields_(const Json::Value &root) override
MRMESH_API std::string_view getComparisonReferenceValueName(std::size_t i) const override
MRMESH_API float computeDistance() const
DistanceMeasurementObject()
Definition MRDistanceMeasurementObject.h:14
MRMESH_API Vector3f getLocalDelta() const
MRMESH_API void serializeFields_(Json::Value &root) const override
virtual MRMESH_API void setDistanceMode(DistanceMode mode)
MRMESH_API std::optional< ComparisonTolerance > getComparisonTolerence(std::size_t i) const override
const char * typeName() const override
Definition MRDistanceMeasurementObject.h:20
MRMESH_API std::size_t numComparableProperties() const override
MRMESH_API void setupRenderObject_() const override
MRMESH_API Vector3f getWorldPoint() const
DistanceMeasurementObject(DistanceMeasurementObject &&) noexcept=default
MRMESH_API std::shared_ptr< Object > shallowClone() const override
DistanceMeasurementObject(ProtectedStruct, const DistanceMeasurementObject &obj)
Definition MRDistanceMeasurementObject.h:29
MRMESH_API ComparisonReferenceValue getComparisonReferenceValue(std::size_t i) const override
virtual MRMESH_API void setIsNegative(bool value)
MRMESH_API std::string_view getComparablePropertyName(std::size_t i) const override
MRMESH_API Vector3f getWorldDelta() const
MRMESH_API void onWorldXfChanged_() override
MRMESH_API bool isNegative() const
static constexpr const char * ClassNameInPlural() noexcept
Definition MRDistanceMeasurementObject.h:25
MRMESH_API std::optional< ComparableProperty > computeComparableProperty(std::size_t i) const override
MRMESH_API std::shared_ptr< Object > clone() const override
DistanceMode
Definition MRDistanceMeasurementObject.h:53
virtual std::string className() const override
Definition MRDistanceMeasurementObject.h:23
MRMESH_API DistanceMode getDistanceMode() const
MRMESH_API void swapBase_(Object &other) override
swaps this object with other
MRMESH_API void setComparisonReferenceValue(std::size_t i, std::optional< ComparisonReferenceValue::Var > value) override
MRMESH_API std::vector< std::string > getInfoLines() const override
return several info lines that can better describe the object in the UI
Definition MRMeasurementObject.h:11
Definition MRObjectComparableWithReference.h:14
named object in the data model
Definition MRObject.h:62
Definition MRCameraOrientationPlugin.h:8
Definition MRObjectComparableWithReference.h:87
Definition MRObject.h:279