12enum class MRMESH_CLASS PointMeasurementVisualizePropertyType
29 constexpr static const
char*
StaticTypeName() noexcept {
return "PointMeasurementObject"; }
32 constexpr static const char*
StaticClassName() noexcept {
return "Measure Point"; }
82 std::optional<Vector3f> referencePos_;
83 std::optional<Vector3f> referenceNormal_;
84 std::optional<ComparisonTolerance> tolerance_;
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
Definition MRVisualObject.h:53
named object in the data model
Definition MRObject.h:62
Definition MRViewportId.h:16
stores mask of viewport unique identifiers
Definition MRViewportId.h:42
static ViewportMask all()
mask meaning all or any viewports
Definition MRViewportId.h:49
void swapBase_(Object &other) override
swaps this object with other
std::shared_ptr< Object > clone() const override
bool supportsVisualizeProperty(AnyVisualizeMaskEnum type) const override
Returns true if this class supports the property type. Otherwise passing it to the functions below is...
std::size_t numComparableProperties() const override
Implement ObjectComparableWithReference:
bool comparisonToleranceIsAlwaysOnlyPositive(std::size_t i) const override
std::string_view getComparablePropertyName(std::size_t i) const override
i goes up to numComparableProperties(), exclusive.
CapVisibility
Definition MRPointMeasurementObject.h:14
const char * typeName() const override
Definition MRPointMeasurementObject.h:30
ObjectComparableWithReference()=default
We have no member variables, so lack of the implicit copy operations wouldn't matter,...
PointMeasurementObject(const PointMeasurementObject &other)=default
void deserializeFields_(const Json::Value &root) override
PointMeasurementObject(ProtectedStruct, const PointMeasurementObject &obj)
Definition MRPointMeasurementObject.h:39
PointMeasurementObject(PointMeasurementObject &&) noexcept=default
std::optional< ComparableProperty > computeComparableProperty(std::size_t i) const override
_count
If true, show additional details on the name tag, such as point coordinates. Not all features use thi...
Definition MRFeatureObject.h:90
static constexpr const char * StaticClassNameInPlural() noexcept
Definition MRPointMeasurementObject.h:35
static constexpr const char * StaticTypeName() noexcept
Definition MRPointMeasurementObject.h:29
std::shared_ptr< Object > shallowClone() const override
void setLocalPoint(const Vector3f &point, ViewportId id={})
updates xf to fit given point
PointMeasurementObject()=default
void setComparisonReferenceValue(std::size_t i, std::optional< ComparisonReferenceValue::Var > value) override
void serializeFields_(Json::Value &root) const override
std::string_view getComparisonReferenceValueName(std::size_t i) const override
i goes up to numComparisonReferenceValues(), exclusive.
Vector3f getLocalPoint(ViewportId id={}) const
calculates point from xf
void setComparisonTolerance(std::size_t i, std::optional< ComparisonTolerance > newTolerance) override
ComparisonReferenceValue getComparisonReferenceValue(std::size_t i) const override
const ViewportMask & getVisualizePropertyMask(AnyVisualizeMaskEnum type) const override
returns mask of viewports where given property is set
std::optional< ComparisonTolerance > getComparisonTolerence(std::size_t i) const override
void setupRenderObject_() const override
AllVisualizeProperties getAllVisualizeProperties() const override
get all visualize properties masks
std::string className() const override
Definition MRPointMeasurementObject.h:33
static constexpr const char * StaticClassName() noexcept
Definition MRPointMeasurementObject.h:32
std::size_t numComparisonReferenceValues() const override
Vector3f getWorldPoint(ViewportId id={}) const
void setWorldPoint(const Vector3f &point, ViewportId id={})
std::string classNameInPlural() const override
Definition MRPointMeasurementObject.h:36
@ other
Angle, normally float. Measure in radians.
Definition MRFeatureObject.h:27
std::vector< ViewportMask > AllVisualizeProperties
Definition MRVisualObject.h:71
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRVisualObject.h:31
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