32 std::vector<scene3D::SceneObjectPtr>
35 return this->sceneObjects;
43 if (object->getObjectId().compare(objectId) == 0)
55 if (
ScenePtr scene = this->scene.lock())
58 std::unique_lock lock(scene->execute_mutex);
61 if (this->getObjectById(object->getObjectId()) != NULL)
63 throw std::logic_error(
"Object with this ID is already contained in scene!");
67 sceneObjects.push_back(
object);
70 scene->objectRootNode->insertChild(
object.get(), 0);
77 if (
ScenePtr scene = this->scene.lock())
80 std::unique_lock lock(scene->execute_mutex);
84 if (
std::find(sceneObjects.begin(), sceneObjects.end(),
object) != sceneObjects.end())
86 if (scene->getSelectionManager()->isSelected(
object))
88 std::cerr <<
"Warning: Remove selected item, whis is currently selected."
93 sceneObjects.erase(std::remove(sceneObjects.begin(), sceneObjects.end(),
object),
96 scene->getSelectionManager()->removeFromSelection(
object);
97 scene->objectRootNode->removeChild(
object.get());
101 throw std::runtime_error(
102 "This object is not registered in the sceneObjectManager!");
107 throw std::runtime_error(
"Object is null!");