12enum class MRMESH_CLASS PointMeasurementVisualizePropertyType
29 constexpr static const
char* StaticTypeName() noexcept {
return "PointMeasurementObject"; }
30 const char*
typeName()
const override {
return StaticTypeName(); }
32 constexpr static const char*
StaticClassName() noexcept {
return "Measure Point"; }
33 std::string
className()
const override {
return StaticClassName(); }
42 MRMESH_API std::shared_ptr<Object>
clone()
const override;
82 std::optional<Vector3f> referencePos_;
83 std::optional<Vector3f> referenceNormal_;
84 std::optional<ComparisonTolerance> tolerance_;
Definition MRVisualObject.h:54
Definition MRMeasurementObject.h:14
A base class for a data-model object that is a feature/measurement that can be compared between two m...
Definition MRObjectComparableWithReference.h:17
named object in the data model
Definition MRObject.h:62
Definition MRPointMeasurementObject.h:22
Definition MRViewportId.h:16
stores mask of viewport unique identifiers
Definition MRViewportId.h:42
MRMESH_API bool supportsVisualizeProperty(AnyVisualizeMaskEnum type) const override
Returns true if this class supports the property type. Otherwise passing it to the functions below is...
MRMESH_API std::shared_ptr< Object > clone() const override
MRMESH_API Vector3f getWorldPoint(ViewportId id={}) const
MRMESH_API void setComparisonReferenceValue(std::size_t i, std::optional< ComparisonReferenceValue::Var > value) override
MRMESH_API void setupRenderObject_() const override
MRMESH_API ComparisonReferenceValue getComparisonReferenceValue(std::size_t i) const override
CapVisibility
Definition MRPointMeasurementObject.h:14
const char * typeName() const override
Definition MRPointMeasurementObject.h:30
MRMESH_API std::shared_ptr< Object > shallowClone() const override
PointMeasurementObject(const PointMeasurementObject &other)=default
MRMESH_API std::string_view getComparablePropertyName(std::size_t i) const override
i goes up to numComparableProperties(), exclusive.
MRMESH_API Vector3f getLocalPoint(ViewportId id={}) const
calculates point from xf
PointMeasurementObject(ProtectedStruct, const PointMeasurementObject &obj)
Definition MRPointMeasurementObject.h:39
PointMeasurementObject(PointMeasurementObject &&) noexcept=default
MRMESH_API std::string_view getComparisonReferenceValueName(std::size_t i) const override
i goes up to numComparisonReferenceValues(), exclusive.
MRMESH_API bool comparisonToleranceIsAlwaysOnlyPositive(std::size_t i) const override
static constexpr const char * StaticClassNameInPlural() noexcept
Definition MRPointMeasurementObject.h:35
MRMESH_API void setLocalPoint(const Vector3f &point, ViewportId id={})
updates xf to fit given point
PointMeasurementObject()=default
MRMESH_API std::optional< ComparableProperty > computeComparableProperty(std::size_t i) const override
MRMESH_API void serializeFields_(Json::Value &root) const override
MRMESH_API std::optional< ComparisonTolerance > getComparisonTolerence(std::size_t i) const override
MRMESH_API std::size_t numComparableProperties() const override
Implement ObjectComparableWithReference:
MRMESH_API void deserializeFields_(const Json::Value &root) override
MRMESH_API void setWorldPoint(const Vector3f &point, ViewportId id={})
MRMESH_API void setComparisonTolerance(std::size_t i, std::optional< ComparisonTolerance > newTolerance) override
MRMESH_API AllVisualizeProperties getAllVisualizeProperties() const override
get all visualize properties masks
MRMESH_API void swapBase_(Object &other) override
swaps this object with other
std::string className() const override
Definition MRPointMeasurementObject.h:33
static constexpr const char * StaticClassName() noexcept
Definition MRPointMeasurementObject.h:32
MRMESH_API const ViewportMask & getVisualizePropertyMask(AnyVisualizeMaskEnum type) const override
returns mask of viewports where given property is set
std::string classNameInPlural() const override
Definition MRPointMeasurementObject.h:36
MRMESH_API std::size_t numComparisonReferenceValues() const override
std::vector< ViewportMask > AllVisualizeProperties
Definition MRVisualObject.h:72
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRVisualObject.h:32
This can't be std::optional<Var>, because we still need the variant to know the correct type.
Definition MRObjectComparableWithReference.h:90
Definition MRObject.h:284