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>
27MR_BIND_IGNORE
inline std::vector<std::shared_ptr<ObjectT>>
getAllObjectsInTree(
Object& root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable )
31template<
typename ObjectT = Object>
33template<
typename ObjectT = Object>
34MR_BIND_IGNORE
inline std::vector<std::shared_ptr<ObjectT>>
getTopmostVisibleObjects(
Object& root,
const ObjectSelectivityType& type = ObjectSelectivityType::Selectable )
38template<
typename ObjectT = Object>
40template<
typename ObjectT = Object>
48 for (
const auto& child :
object.children() )
58#include "MRObjectsAccess.hpp"
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:83
Selectable
Definition MRObjectsAccess.h:13
Selected
Definition MRObjectsAccess.h:14
named object in the data model
Definition MRObject.h:60
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...
bool objectHasSelectableChildren(const MR::Object &object)
Definition MRObjectsAccess.h:46
std::shared_ptr< ObjectT > getDepthFirstObject(Object *root, const ObjectSelectivityType &type)
return first object of given type in depth-first traverse order excluding root