19 constexpr static const
char* TypeName() noexcept {
return "RadiusMeasurementObject"; }
20 const char*
typeName()
const override {
return TypeName(); }
22 constexpr static const char*
ClassName() noexcept {
return "Radius"; }
23 virtual std::string
className()
const override {
return ClassName(); }
89 bool drawAsDiameter_ =
false;
91 bool isSpherical_ =
false;
95 float visualLengthMultiplier_ = 2 / 3.f;
98 mutable std::optional<float> cachedValue_;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:84
Definition MRMeasurementObject.h:11
named object in the data model
Definition MRObject.h:62
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:66
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
static constexpr const char * ClassName() noexcept
Definition MRRadiusMeasurementObject.h:22
MRMESH_API Vector3f getLocalCenter() const
RadiusMeasurementObject(ProtectedStruct, const RadiusMeasurementObject &obj)
Definition MRRadiusMeasurementObject.h:29
MRMESH_API void setupRenderObject_() const override
virtual std::string classNameInPlural() const override
Definition MRRadiusMeasurementObject.h:26
MRMESH_API Vector3f getLocalNormal() const
virtual void setIsSpherical(bool value)
Definition MRRadiusMeasurementObject.h:61
void setLocalRadiusAsVector(const MR::Vector3f &radiusVec)
Definition MRRadiusMeasurementObject.h:53
virtual MRMESH_API void setLocalCenter(const MR::Vector3f ¢er)
float getVisualLengthMultiplier() const
Definition MRRadiusMeasurementObject.h:65
bool getIsSpherical() const
Definition MRRadiusMeasurementObject.h:60
MRMESH_API std::vector< std::string > getInfoLines() const override
return several info lines that can better describe the object in the UI
virtual std::string className() const override
Definition MRRadiusMeasurementObject.h:23
bool getDrawAsDiameter() const
Definition MRRadiusMeasurementObject.h:56
MRMESH_API Vector3f getWorldRadiusAsVector() const
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
static constexpr const char * ClassNameInPlural() noexcept
Definition MRRadiusMeasurementObject.h:25
MRMESH_API void serializeFields_(Json::Value &root) const override
RadiusMeasurementObject(const RadiusMeasurementObject &other)=default
RadiusMeasurementObject()
Definition MRRadiusMeasurementObject.h:14
MRMESH_API void onWorldXfChanged_() override
Definition MRCameraOrientationPlugin.h:8
Definition MRObject.h:279