version 1.2.1
spot light without shadows and with texture fix mesh information points width and points-only meshes support
This commit is contained in:
@@ -19,11 +19,13 @@
|
||||
#include "scene_tree.h"
|
||||
|
||||
#include "glcamera.h"
|
||||
#include "glmesh.h"
|
||||
#include "qglview.h"
|
||||
#include "ui_scene_tree.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QEvent>
|
||||
#include <QMessageBox>
|
||||
#include <QScrollBar>
|
||||
#include <QTreeWidget>
|
||||
#include <qad_types.h>
|
||||
@@ -110,9 +112,9 @@ QList<QAction *> SceneTree::actionsAdd() {
|
||||
QList<QAction *> SceneTree::actionsSelection() {
|
||||
QList<QAction *> ret;
|
||||
ret << ui->actionFocus << newSeparator() << ui->actionGroup << ui->actionClone << newSeparator() << ui->actionSelect_parent
|
||||
<< ui->actionSelect_by_mesh << ui->actionSelect_by_material << newSeparator() << ui->actionMove_to_parent
|
||||
<< ui->actionTransfer_transform_to_children << newSeparator() << ui->actionActive_camera << ui->actionDefault_camera
|
||||
<< newSeparator() << ui->actionRemove;
|
||||
<< ui->actionSelect_by_mesh << ui->actionSelect_by_material << newSeparator() << ui->actionMesh_info << newSeparator()
|
||||
<< ui->actionMove_to_parent << ui->actionTransfer_transform_to_children << newSeparator() << ui->actionActive_camera
|
||||
<< ui->actionDefault_camera << newSeparator() << ui->actionRemove;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -310,6 +312,7 @@ void SceneTree::checkActions() {
|
||||
ui->actionSelect_parent->setEnabled(has_1);
|
||||
ui->actionSelect_by_mesh->setEnabled(has_mesh);
|
||||
ui->actionSelect_by_material->setEnabled(has_mesh);
|
||||
ui->actionMesh_info->setEnabled(has_mesh);
|
||||
ui->actionActive_camera->setEnabled(has_cam);
|
||||
ui->actionDefault_camera->setEnabled(!is_def_cam);
|
||||
}
|
||||
@@ -507,6 +510,31 @@ void SceneTree::on_actionSelect_by_material_triggered() {
|
||||
}
|
||||
|
||||
|
||||
void SceneTree::on_actionMesh_info_triggered() {
|
||||
if (!view) return;
|
||||
ObjectBaseList sol = view->scene()->selectedObjects(true);
|
||||
for (auto o: sol) {
|
||||
if (o->mesh()) {
|
||||
auto m = o->mesh();
|
||||
int objects = 0;
|
||||
ObjectBaseList aol = view->scene()->objects(true);
|
||||
for (auto i: aol)
|
||||
if (i->mesh() == m) ++objects;
|
||||
|
||||
auto bb = o->mesh()->boundingBox();
|
||||
QString info;
|
||||
QTextStream ts(&info);
|
||||
ts << "Vertices: " << m->verticesCount() << "\n";
|
||||
ts << "Triangles: " << m->trianglesCount() << "\n";
|
||||
ts << "Bounding box: " << bb.length << "x" << bb.width << "x" << bb.height << "\n";
|
||||
ts << "Objects with this mesh: " << objects << "\n";
|
||||
QMessageBox::information(nullptr, tr("Mesh info"), info);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SceneTree::removeObjects() {
|
||||
if (!view) return;
|
||||
QAD::CursorOverrider curov;
|
||||
|
||||
Reference in New Issue
Block a user