3#include "MRPch/MRBindingMacros.h"
26template<
typename ObjectT = Object>
27std::shared_ptr<ObjectT>
asSelectivityType( std::shared_ptr<Object> obj,
const ObjectSelectivityType& type );
31template<
typename ObjectT = Object>
32std::vector<std::shared_ptr<ObjectT>>
getAllObjectsInTree(
Object* root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable );
33template<
typename ObjectT = Object>
38template<
typename ObjectT = Object>
41template<
typename ObjectT = Object>
46template<
typename ObjectT = Object>
47std::vector<std::shared_ptr<ObjectT>>
getTopmostObjects(
Object* root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable,
bool visibilityCheck =
false );
48template<
typename ObjectT = Object>
49MR_BIND_IGNORE inline std::vector<std::shared_ptr<ObjectT>>
getTopmostObjects(
Object& root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable,
bool visibilityCheck =
false )
53template<
typename ObjectT = Object>
55template<
typename ObjectT = Object>
65 for (
const auto& child :
object.children() )
75#include "MRObjectsAccess.hpp"
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:84
Selectable
object itself and all its ancestors are selectable
Definition MRObjectsAccess.h:14
LocalSelectable
object itself is selectable
Definition MRObjectsAccess.h:16
LocalSelected
object itself is selected
Definition MRObjectsAccess.h:20
Selected
object itself is selected and all its ancestors are selectable
Definition MRObjectsAccess.h:18
named object in the data model
Definition MRObject.h:62
Definition MRCameraOrientationPlugin.h:8
std::vector< std::shared_ptr< ObjectT > > getAllObjectsInTree(Object *root, const ObjectSelectivityType &type=ObjectSelectivityType::Selectable)
std::shared_ptr< ObjectT > asSelectivityType(std::shared_ptr< Object > obj, const ObjectSelectivityType &type)
if input object is of given type then returns another pointer on it
bool objectHasSelectableChildren(const MR::Object &object, bool recurse=false)
Definition MRObjectsAccess.h:63
std::vector< std::shared_ptr< ObjectT > > getTopmostVisibleObjects(Object *root, const ObjectSelectivityType &type=ObjectSelectivityType::Selectable)
Returns all topmost visible objects of given type (if an object is returned, its children are not) ex...
Definition MRObjectsAccess.h:39
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:10
std::vector< std::shared_ptr< ObjectT > > getTopmostObjects(Object *root, const ObjectSelectivityType &type=ObjectSelectivityType::Selectable, bool visibilityCheck=false)
Returns all topmost objects of given type (if an object is returned, its children are not) excluding ...
std::shared_ptr< ObjectT > getDepthFirstObject(Object *root, const ObjectSelectivityType &type)
return first object of given type in depth-first traverse order excluding root