19 constexpr static const
char* TypeName() noexcept {
return "RadiusMeasurementObject"; }
20 const char*
typeName()
const override {
return TypeName(); }
85 bool drawAsDiameter_ =
false;
87 bool isSpherical_ =
false;
91 float visualLengthMultiplier_ = 2 / 3.f;
94 mutable std::optional<float> cachedValue_;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:50
Definition MRMeasurementObject.h:11
named object in the data model
Definition MRObject.h:60
Definition MRRadiusMeasurementObject.h:10
MRMESH_API std::shared_ptr< Object > shallowClone() const override
MRMESH_API Vector3f getWorldNormal() const
virtual void setVisualLengthMultiplier(float value)
Definition MRRadiusMeasurementObject.h:62
MRMESH_API void swapBase_(Object &other) override
swaps this object with other
MRMESH_API Vector3f getWorldCenter() const
virtual MRMESH_API void setDrawAsDiameter(bool value)
virtual MRMESH_API void setLocalRadiusAsVector(const MR::Vector3f &radiusVec, const Vector3f &normal)
RadiusMeasurementObject(RadiusMeasurementObject &&) noexcept=default
std::string getClassName() const override
return human readable name of subclass
Definition MRRadiusMeasurementObject.h:25
MRMESH_API Vector3f getLocalCenter() const
RadiusMeasurementObject(ProtectedStruct, const RadiusMeasurementObject &obj)
Definition MRRadiusMeasurementObject.h:23
MRMESH_API void setupRenderObject_() const override
MRMESH_API Vector3f getLocalNormal() const
virtual void setIsSpherical(bool value)
Definition MRRadiusMeasurementObject.h:57
void setLocalRadiusAsVector(const MR::Vector3f &radiusVec)
Definition MRRadiusMeasurementObject.h:49
virtual MRMESH_API void setLocalCenter(const MR::Vector3f ¢er)
float getVisualLengthMultiplier() const
Definition MRRadiusMeasurementObject.h:61
bool getIsSpherical() const
Definition MRRadiusMeasurementObject.h:56
MRMESH_API std::vector< std::string > getInfoLines() const override
return several info lines that can better describe the object in the UI
bool getDrawAsDiameter() const
Definition MRRadiusMeasurementObject.h:52
MRMESH_API Vector3f getWorldRadiusAsVector() const
MRMESH_API void propagateWorldXfChangedSignal_() override
MRMESH_API Vector3f getLocalRadiusAsVector() const
MRMESH_API float computeRadiusOrDiameter() const
MRMESH_API std::shared_ptr< Object > clone() const override
MRMESH_API void deserializeFields_(const Json::Value &root) override
const char * typeName() const override
Definition MRRadiusMeasurementObject.h:20
MRMESH_API void serializeFields_(Json::Value &root) const override
RadiusMeasurementObject(const RadiusMeasurementObject &other)=default
RadiusMeasurementObject()
Definition MRRadiusMeasurementObject.h:14
Definition MRCameraOrientationPlugin.h:8
Definition MRObject.h:246