3#include "MRPch/MRBindingMacros.h"
19template<
typename ObjectT = Object>
20std::shared_ptr<ObjectT>
asSelectivityType( std::shared_ptr<Object> obj,
const ObjectSelectivityType& type );
24template<
typename ObjectT = Object>
25std::vector<std::shared_ptr<ObjectT>>
getAllObjectsInTree(
Object* root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable );
26template<
typename ObjectT = Object>
31template<
typename ObjectT = Object>
34template<
typename ObjectT = Object>
39template<
typename ObjectT = Object>
40std::vector<std::shared_ptr<ObjectT>>
getTopmostObjects(
Object* root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable,
bool visibilityCheck =
false );
41template<
typename ObjectT = Object>
42MR_BIND_IGNORE inline std::vector<std::shared_ptr<ObjectT>>
getTopmostObjects(
Object& root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable,
bool visibilityCheck =
false )
46template<
typename ObjectT = Object>
48template<
typename ObjectT = Object>
56 for (
const auto& child :
object.children() )
66#include "MRObjectsAccess.hpp"
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:84
Selectable
Definition MRObjectsAccess.h:13
Selected
Definition MRObjectsAccess.h:14
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
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:32
bool objectHasSelectableChildren(const MR::Object &object)
Definition MRObjectsAccess.h:54
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