9class MRMESH_CLASS AngleMeasurementObject :
public MeasurementObject
13 AngleMeasurementObject() {}
15 AngleMeasurementObject( AngleMeasurementObject&& ) noexcept = default;
16 AngleMeasurementObject& operator=( AngleMeasurementObject&& ) noexcept = default;
18 constexpr static const
char* StaticTypeName() noexcept {
return "AngleMeasurementObject"; }
19 const char* typeName()
const override {
return StaticTypeName(); }
21 constexpr static const char* StaticClassName() noexcept {
return "Angle"; }
22 virtual std::string className()
const override {
return StaticClassName(); }
24 constexpr static const char* StaticClassNameInPlural() noexcept {
return "Angles"; }
25 virtual std::string classNameInPlural()
const override {
return StaticClassNameInPlural(); }
28 AngleMeasurementObject( ProtectedStruct,
const AngleMeasurementObject& obj ) : AngleMeasurementObject( obj ) {}
30 MRMESH_API std::shared_ptr<Object> clone()
const override;
31 MRMESH_API std::shared_ptr<Object> shallowClone()
const override;
34 [[nodiscard]]
MRMESH_API Vector3f getWorldPoint()
const;
36 [[nodiscard]]
MRMESH_API Vector3f getLocalPoint()
const;
40 [[nodiscard]]
MRMESH_API Vector3f getWorldRay(
bool second )
const;
42 [[nodiscard]]
MRMESH_API Vector3f getLocalRay(
bool second )
const;
51 [[nodiscard]]
MRMESH_API bool getIsConical()
const;
55 [[nodiscard]]
MRMESH_API bool getShouldVisualizeRay(
bool second )
const;
56 MRMESH_API void setShouldVisualizeRay(
bool second,
bool enable );
59 [[nodiscard]]
MRMESH_API float computeAngle()
const;
61 [[nodiscard]]
MRMESH_API std::vector<std::string> getInfoLines()
const override;
64 AngleMeasurementObject(
const AngleMeasurementObject& other ) =
default;
66 MRMESH_API void swapBase_( Object& other )
override;
68 MRMESH_API void serializeFields_( Json::Value& root )
const override;
69 MRMESH_API void deserializeFields_(
const Json::Value& root )
override;
71 MRMESH_API void setupRenderObject_()
const override;
79 bool isConical_ =
false;
82 bool shouldVisualizeRay_[2]{};
85 mutable std::optional<float> cachedValue_;
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
Definition MRCameraOrientationPlugin.h:8