16class MRMESH_CLASS CircleObject :
public AddVisualProperties<FeatureObject, DimensionsVisualizePropertyType::diameter>
22 MRMESH_API CircleObject(
const std::vector<Vector3f>& pointsToApprox );
24 CircleObject( CircleObject&& ) noexcept = default;
25 CircleObject& operator = ( CircleObject&& ) noexcept = default;
27 constexpr static const
char* StaticTypeName() noexcept {
return "CircleObject"; }
28 virtual const char* typeName()
const override {
return StaticTypeName(); }
30 constexpr static const char* StaticClassName() noexcept {
return "Circle"; }
31 virtual std::string className()
const override {
return StaticClassName(); }
33 constexpr static const char* StaticClassNameInPlural() noexcept {
return "Circles"; }
34 virtual std::string classNameInPlural()
const override {
return StaticClassNameInPlural(); }
37 CircleObject( ProtectedStruct,
const CircleObject& obj ) : CircleObject( obj )
40 MRMESH_API virtual std::shared_ptr<Object> clone()
const override;
41 MRMESH_API virtual std::shared_ptr<Object> shallowClone()
const override;
44 [[nodiscard]]
MRMESH_API float getRadius( ViewportId
id = {} )
const;
46 [[nodiscard]]
MRMESH_API Vector3f getCenter( ViewportId
id = {} )
const;
48 [[nodiscard]]
MRMESH_API Vector3f getNormal( ViewportId
id = {} )
const;
50 MRMESH_API void setRadius(
float radius, ViewportId
id = {} );
52 MRMESH_API void setCenter(
const Vector3f& center, ViewportId
id = {} );
54 MRMESH_API void setNormal(
const Vector3f& normal, ViewportId
id = {} );
56 [[nodiscard]]
MRMESH_API FeatureObjectProjectPointResult projectPoint(
const Vector3f& point, ViewportId
id = {} )
const override;
58 [[nodiscard]]
MRMESH_API virtual const std::vector<FeatureObjectSharedProperty>& getAllSharedProperties()
const override;
61 CircleObject(
const CircleObject& other ) =
default;
64 MRMESH_API virtual void swapBase_( Object& other )
override;
66 MRMESH_API virtual void serializeFields_( Json::Value& root )
const override;
68 virtual Expected<std::future<Expected<void>>> serializeModel_(
const std::filesystem::path& )
const override
73 virtual Expected<void> deserializeModel_(
const std::filesystem::path&, ProgressCallback )
override
78 MRMESH_API void setupRenderObject_()
const override;
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
Definition MRCameraOrientationPlugin.h:8