|
MRMESH_API | SceneRootObject () |
|
| SceneRootObject (SceneRootObject &&) noexcept=default |
|
SceneRootObject & | operator= (SceneRootObject &&) noexcept=default |
|
| SceneRootObject (ProtectedStruct, const SceneRootObject &obj) |
|
virtual const char * | typeName () const override |
|
virtual void | setAncillary (bool) override |
|
virtual bool | select (bool) override |
| selects the object, returns true if value changed, otherwise returns false
|
|
virtual void | setName (std::string) override |
|
virtual MRMESH_API std::shared_ptr< Object > | clone () const override |
| clones current object only, without parent and/or children
|
|
MRMESH_API std::shared_ptr< SceneRootObject > | cloneRoot () const |
| same as clone but returns correct type
|
|
| Object ()=default |
|
| Object (Object &&) noexcept=default |
|
Object & | operator= (Object &&) noexcept=default |
|
virtual | ~Object ()=default |
|
template<typename T > |
T * | asType () |
|
template<typename T > |
const T * | asType () const |
|
const std::string & | name () const |
|
MRMESH_API std::shared_ptr< const Object > | find (const std::string_view &name) const |
| finds a direct child by name
|
|
std::shared_ptr< Object > | find (const std::string_view &name) |
|
template<typename T > |
std::shared_ptr< const T > | find () const |
| finds a direct child by type
|
|
template<typename T > |
std::shared_ptr< T > | find () |
|
template<typename T > |
std::shared_ptr< const T > | find (const std::string_view &name) const |
| finds a direct child by name and type
|
|
template<typename T > |
std::shared_ptr< T > | find (const std::string_view &name) |
|
const AffineXf3f & | xf (ViewportId id={}, bool *isDef=nullptr) const |
|
virtual MRMESH_API void | setXf (const AffineXf3f &xf, ViewportId id={}) |
|
virtual MRMESH_API void | resetXf (ViewportId id={}) |
| forgets specific transform in given viewport (or forgets all specific transforms for {} input)
|
|
const ViewportProperty< AffineXf3f > & | xfsForAllViewports () const |
| returns xfs for all viewports, combined into a single object
|
|
virtual void | setXfsForAllViewports (ViewportProperty< AffineXf3f > xf) |
| modifies xfs for all viewports at once
|
|
MRMESH_API AffineXf3f | worldXf (ViewportId id={}, bool *isDef=nullptr) const |
|
MRMESH_API void | setWorldXf (const AffineXf3f &xf, ViewportId id={}) |
|
virtual MRMESH_API void | applyScale (float scaleFactor) |
| scale object size (all point positions)
|
|
MRMESH_API ViewportMask | globalVisibilityMask () const |
| returns all viewports where this object is visible together with all its parents
|
|
bool | globalVisibility (ViewportMask viewportMask=ViewportMask::any()) const |
| returns true if this object is visible together with all its parents in any of given viewports
|
|
MRMESH_API void | setGlobalVisibility (bool on, ViewportMask viewportMask=ViewportMask::any()) |
| if true sets all predecessors visible, otherwise sets this object invisible
|
|
bool | isLocked () const |
| object properties lock for UI
|
|
virtual void | setLocked (bool on) |
|
bool | isParentLocked () const |
|
virtual void | setParentLocked (bool lock) |
|
const Object * | parent () const |
| returns parent object in the tree
|
|
Object * | parent () |
|
MRMESH_API bool | isAncestor (const Object *ancestor) const |
| return true if given object is ancestor of this one, false otherwise
|
|
MRMESH_API Object * | findCommonAncestor (Object &other) |
|
const Object * | findCommonAncestor (const Object &other) const |
|
virtual MRMESH_API bool | detachFromParent () |
|
const std::vector< std::shared_ptr< Object > > & | children () |
| an object can hold other sub-objects
|
|
const std::vector< std::shared_ptr< const Object > > & | children () const |
|
virtual MRMESH_API bool | addChild (std::shared_ptr< Object > child, bool recognizedChild=true) |
|
virtual MRMESH_API bool | addChildBefore (std::shared_ptr< Object > newChild, const std::shared_ptr< Object > &existingChild) |
|
bool | removeChild (const std::shared_ptr< Object > &child) |
| returns false if it was not child of this
|
|
virtual MRMESH_API bool | removeChild (Object *child) |
|
virtual MRMESH_API void | removeAllChildren () |
| detaches all recognized children from this, keeping all unrecognized ones
|
|
MRMESH_API void | sortChildren () |
| sort recognized children by name
|
|
virtual bool | isSelected () const |
|
bool | isAncillary () const |
|
MRMESH_API void | setVisible (bool on, ViewportMask viewportMask=ViewportMask::all()) |
| sets the object visible in the viewports specified by the mask (by default in all viewports)
|
|
bool | isVisible (ViewportMask viewportMask=ViewportMask::any()) const |
| checks whether the object is visible in any of the viewports specified by the mask (by default in any viewport)
|
|
virtual MRMESH_API void | setVisibilityMask (ViewportMask viewportMask) |
| specifies object visibility as bitmask of viewports
|
|
virtual ViewportMask | visibilityMask () const |
| gets object visibility as bitmask of viewports
|
|
virtual bool | getRedrawFlag (ViewportMask) const |
| this method virtual because others data model types could have dirty flags or something
|
|
void | resetRedrawFlag () const |
|
MRMESH_API std::shared_ptr< Object > | cloneTree () const |
| clones all tree of this object (except ancillary and unrecognized children)
|
|
MRMESH_API std::shared_ptr< Object > | shallowCloneTree () const |
|
virtual MRMESH_API std::shared_ptr< Object > | shallowClone () const |
|
virtual MRMESH_API std::vector< std::string > | getInfoLines () const |
| return several info lines that can better describe object in the UI
|
|
virtual std::string | getClassName () const |
| return human readable name of subclass
|
|
MRMESH_API Expected< std::vector< std::future< Expected< void > > > > | serializeRecursive (const std::filesystem::path &path, Json::Value &root, int childId) const |
|
MRMESH_API Expected< void > | deserializeRecursive (const std::filesystem::path &path, const Json::Value &root, ProgressCallback progressCb={}, int *objCounter=nullptr) |
|
MRMESH_API void | swap (Object &other) |
|
virtual Box3f | getWorldBox (ViewportId={}) const |
| returns bounding box of this object in world coordinates for default or specific viewport
|
|
MRMESH_API Box3f | getWorldTreeBox (ViewportId={}) const |
| returns bounding box of this object and all children visible in given (or default) viewport in world coordinates
|
|
virtual bool | hasVisualRepresentation () const |
| does the object have any visual representation (visible points, triangles, edges, etc.), no considering child objects
|
|
virtual bool | hasModel () const |
|
virtual MRMESH_API size_t | heapBytes () const |
| returns the amount of memory this object occupies on heap
|
|
| Object (ProtectedStruct, const Object &obj) |
|
| ObjectChildrenHolder ()=default |
|
| ObjectChildrenHolder (const ObjectChildrenHolder &) noexcept |
|
ObjectChildrenHolder & | operator= (const ObjectChildrenHolder &) noexcept |
|
MRMESH_API | ObjectChildrenHolder (ObjectChildrenHolder &&) noexcept |
|
MRMESH_API ObjectChildrenHolder & | operator= (ObjectChildrenHolder &&) noexcept |
|
MRMESH_API | ~ObjectChildrenHolder () |
|
MRMESH_API std::shared_ptr< Object > | getSharedPtr () const |
|
MRMESH_API size_t | heapBytes () const |
|
Object that is parent of all scene.