17 MRMESH_API PlaneObject(
const std::vector<Vector3f>& pointsToApprox );
19 PlaneObject( PlaneObject&& ) noexcept = default;
20 PlaneObject& operator = ( PlaneObject&& ) noexcept = default;
22 constexpr static const
char* StaticTypeName() noexcept {
return "PlaneObject"; }
23 virtual const char* typeName()
const override {
return StaticTypeName(); }
25 constexpr static const char* StaticClassName() noexcept {
return "Plane"; }
26 virtual std::string className()
const override {
return StaticClassName(); }
28 constexpr static const char* StaticClassNameInPlural() noexcept {
return "Planes"; }
29 virtual std::string classNameInPlural()
const override {
return StaticClassNameInPlural(); }
32 PlaneObject( ProtectedStruct,
const PlaneObject& obj ) : PlaneObject( obj )
35 MRMESH_API virtual std::shared_ptr<Object> clone()
const override;
36 MRMESH_API virtual std::shared_ptr<Object> shallowClone()
const override;
39 [[nodiscard]]
MRMESH_API Vector3f getNormal( ViewportId
id = {} )
const;
41 [[nodiscard]]
MRMESH_API Vector3f getCenter( ViewportId
id = {} )
const;
43 MRMESH_API void setNormal(
const Vector3f& normal, ViewportId
id = {} );
45 MRMESH_API void setCenter(
const Vector3f& center, ViewportId
id = {} );
47 MRMESH_API void setSize(
float size, ViewportId
id = {} );
49 [[nodiscard]]
MRMESH_API float getSize( ViewportId
id = {} )
const;
51 [[nodiscard]]
MRMESH_API float getSizeX( ViewportId
id = {} )
const;
52 [[nodiscard]]
MRMESH_API float getSizeY( ViewportId
id = {} )
const;
54 [[nodiscard]]
MRMESH_API Matrix3f calcLocalBasis( ViewportId
id = {} )
const;
56 MRMESH_API void setSizeX(
float size, ViewportId
id = {} );
57 MRMESH_API void setSizeY(
float size, ViewportId
id = {} );
60 [[nodiscard]]
MRMESH_API virtual Vector3f getBasePoint( ViewportId
id = {} )
const override;
62 [[nodiscard]]
MRMESH_API FeatureObjectProjectPointResult projectPoint(
const Vector3f& point, ViewportId
id = {} )
const override;
64 MRMESH_API virtual const std::vector<FeatureObjectSharedProperty>& getAllSharedProperties()
const override;
67 PlaneObject(
const PlaneObject& other ) =
default;
70 MRMESH_API virtual void swapBase_( Object& other )
override;
72 MRMESH_API virtual void serializeFields_( Json::Value& root )
const override;
74 virtual Expected<std::future<Expected<void>>> serializeModel_(
const std::filesystem::path& )
const override
79 virtual Expected<void> deserializeModel_(
const std::filesystem::path&, ProgressCallback )
override
84 MRMESH_API void setupRenderObject_()
const override;
87 void orientateFollowMainAxis_( ViewportId
id = {} );
88 void setupPlaneSize2DByOriginalPoints_(
const std::vector<Vector3f>& pointsToApprox );
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
Definition MRCameraOrientationPlugin.h:8