git-svn-id: svn://db.shs.com.ru/libs@635 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-11-27 11:19:39 +00:00
parent 7e3abd62fd
commit 988c4e1150
7 changed files with 83 additions and 11 deletions

View File

@@ -184,8 +184,6 @@ void Scene::selectObject(ObjectBase * o, bool add_to_selection) {
else o->setSelected(!o->isSelected());
gatherSelection();
}
foreach (Mesh * m, geometries)
m->selected_changed = true;
emitSelectionChanged();
}
@@ -197,8 +195,38 @@ void Scene::selectObjects(QList<ObjectBase *> ol, bool add_to_selection) {
o->setSelected(true);
}
gatherSelection();
foreach (Mesh * m, geometries)
m->selected_changed = true;
emitSelectionChanged();
}
void Scene::selectObjectsByMesh() {
QList<ObjectBase * > csl = selected_;
QSet<Mesh*> sml;
foreach (ObjectBase * o, csl)
if (o->mesh())
sml << o->mesh();
QList<ObjectBase * > ol = root_->children(true);
foreach (ObjectBase * o, ol) {
if (sml.contains(o->mesh()))
o->setSelected(true);
}
gatherSelection();
emitSelectionChanged();
}
void Scene::selectObjectsByMaterial() {
QList<ObjectBase * > csl = selected_;
QSet<Material*> sml;
foreach (ObjectBase * o, csl)
if (o->material())
sml << o->material();
QList<ObjectBase * > ol = root_->children(true);
foreach (ObjectBase * o, ol) {
if (sml.contains(o->material()))
o->setSelected(true);
}
gatherSelection();
emitSelectionChanged();
}