25 constexpr static const char*
StaticTypeName() noexcept {
return "RootObject"; }
26 virtual const char*
typeName()
const override {
return StaticTypeName(); }
29 virtual std::string
className()
const override {
return StaticClassName(); }
32 virtual std::string
classNameInPlural()
const override {
return StaticClassNameInPlural(); }
34 constexpr static const char*
RootName() noexcept {
return "Root"; }
36 virtual void setAncillary(
bool )
override { Object::setAncillary(
false ); }
38 virtual bool select(
bool )
override {
return Object::select(
false ); }
40 virtual void setName( std::string )
override { Object::setName( SceneRootObject::RootName() ); }
42 MRMESH_API
virtual std::shared_ptr<Object>
clone()
const override;
45 MRMESH_API std::shared_ptr<SceneRootObject>
cloneRoot()
const;
64#ifndef MR_SCENEROOT_CONST
66 MRMESH_API
static std::shared_ptr<SceneRootObject>&
getSharedPtr();
68 MRMESH_API
static void setScenePath(
const std::filesystem::path& scenePath );
79 std::shared_ptr<SceneRootObject> root_;
82 std::filesystem::path scenePath_;
named object in the data model
Definition MRObject.h:62
Object that is parent of all scene.
Definition MRSceneRoot.h:14
Definition MRSceneRoot.h:62
virtual std::string classNameInPlural() const override
Definition MRSceneRoot.h:32
static constexpr const char * RootName() noexcept
Definition MRSceneRoot.h:34
SceneRootObject(const SceneRootObject &other)=default
virtual void setName(std::string) override
Definition MRSceneRoot.h:40
virtual const char * typeName() const override
Definition MRSceneRoot.h:26
SceneRootObject(SceneRootObject &&) noexcept=default
virtual MRMESH_API std::shared_ptr< Object > clone() const override
clones current object only, without parent and/or children
static MRMESH_API std::shared_ptr< const SceneRootObject > constGetSharedPtr()
static MRMESH_API SceneRootObject & get()
MRMESH_API std::shared_ptr< SceneRootObject > createRootFormObject(std::shared_ptr< Object > obj)
MRMESH_API std::shared_ptr< SceneRootObject > cloneRoot() const
same as clone but returns correct type
static MRMESH_API const SceneRootObject & constGet()
static constexpr const char * StaticClassName() noexcept
Definition MRSceneRoot.h:28
MRMESH_API void deserializeFields_(const Json::Value &root) override
static MRMESH_API std::shared_ptr< SceneRootObject > & getSharedPtr()
static constexpr const char * StaticTypeName() noexcept
Definition MRSceneRoot.h:25
virtual bool select(bool) override
selects the object, returns true if value changed, otherwise returns false
Definition MRSceneRoot.h:38
MRMESH_API SceneRootObject()
static constexpr const char * StaticClassNameInPlural() noexcept
Definition MRSceneRoot.h:31
virtual MRMESH_API void serializeFields_(Json::Value &root) const override
virtual void setAncillary(bool) override
Definition MRSceneRoot.h:36
static MRMESH_API const std::filesystem::path & getScenePath()
virtual std::string className() const override
Definition MRSceneRoot.h:29
static MRMESH_API void setScenePath(const std::filesystem::path &scenePath)
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRObject.h:284