code format

This commit is contained in:
2022-12-14 14:14:33 +03:00
parent 09e5342956
commit cdb02fc9be
278 changed files with 15371 additions and 12176 deletions

View File

@@ -17,12 +17,14 @@
*/
#include "qglview_window.h"
#include "loader_qgl.h"
#include "loader_ase.h"
#include "loader_3ds.h"
#include "loader_obj.h"
#include "loader_ase.h"
#include "loader_dae.h"
#include "loader_obj.h"
#include "loader_qgl.h"
#include "qad_types.h"
#include <QGraphicsRectItem>
#include <QImageReader>
#include <QMessageBox>
@@ -32,18 +34,18 @@ QGLViewWindow::QGLViewWindow(QWidget * parent): QMainWindow(parent), Ui::QGLView
setupUi(this);
session.setFile("session_qglview_test.conf");
session.addEntry(this);
icon_geo = QIcon(":/icons/type-geo.png");
icon_geo = QIcon(":/icons/type-geo.png");
icon_camera = QIcon(":/icons/type-camera.png");
icon_light = QIcon(":/icons/type-light.png");
icon_light = QIcon(":/icons/type-light.png");
QAction * a = new QAction(QIcon(":/icons/edit-delete.png"), "Remove");
connect(a, SIGNAL(triggered()), this, SLOT(removeObjects()));
treeObjects->addAction(a);
spinViewLineWidth->setValue(lineThickness()*2);
spinViewLineWidth->setValue(lineThickness() * 2);
sel_obj = nullptr;
view->view()->camera()->setAim(QVector3D());
view->view()->camera()->setPos(QVector3D(2, 2, 2));
// view->setFrameShape(QFrame::NoFrame);
// view->setFrameShape(QFrame::NoFrame);
view->view()->setRenderer(new RendererSimple(view->view()));
view->view()->setMouseRotateEnabled(true);
view->view()->setMouseSelectionEnabled(true);
@@ -95,30 +97,36 @@ QGLViewWindow::QGLViewWindow(QWidget * parent): QMainWindow(parent), Ui::QGLView
axis = new GLObjectBase();
GLObjectBase * obj;
float al = 1.;
obj = new GLPrimitiveLine(QVector3D(0, 0, -al), QVector3D(0, 0, al));
obj->material().color_diffuse = Qt::darkBlue; obj->setAcceptLight(false);
float al = 1.;
obj = new GLPrimitiveLine(QVector3D(0, 0, -al), QVector3D(0, 0, al));
obj->material().color_diffuse = Qt::darkBlue;
obj->setAcceptLight(false);
axis->addChild(obj);
obj = new GLPrimitiveLine(QVector3D(-al, 0, 0), QVector3D(al, 0, 0));
obj->material().color_diffuse = Qt::darkRed; obj->setAcceptLight(false);
obj = new GLPrimitiveLine(QVector3D(-al, 0, 0), QVector3D(al, 0, 0));
obj->material().color_diffuse = Qt::darkRed;
obj->setAcceptLight(false);
axis->addChild(obj);
obj = new GLPrimitiveLine(QVector3D(0, -al, 0), QVector3D(0, al, 0));
obj->material().color_diffuse = Qt::darkGreen; obj->setAcceptLight(false);
obj = new GLPrimitiveLine(QVector3D(0, -al, 0), QVector3D(0, al, 0));
obj->material().color_diffuse = Qt::darkGreen;
obj->setAcceptLight(false);
axis->addChild(obj);
view->view()->addObject(axis);
cam_light = new Light();
cam_light = new Light();
cam_light->intensity = 0.5;
cam_light->setName("Camera_Light");
view->view()->camera()->addChild(cam_light);
view->view()->start(-1);
startTimer(1000/60);
startTimer(1000 / 60);
connect(view->view(), SIGNAL(selectionChanged(GLObjectBase*,GLObjectBase*)), this, SLOT(selectionChanged(GLObjectBase*,GLObjectBase*)));
connect(view->view(),
SIGNAL(selectionChanged(GLObjectBase *, GLObjectBase *)),
this,
SLOT(selectionChanged(GLObjectBase *, GLObjectBase *)));
connect(view->view(), SIGNAL(keyEvent(Qt::Key, Qt::KeyboardModifiers)), this, SLOT(view_keyEvent(Qt::Key, Qt::KeyboardModifiers)));
connect(matEditor, SIGNAL(changed()), this, SLOT(materialChanged()));
//view->view()->addObject(&partsys);
// view->view()->addObject(&partsys);
partsys.material().color_diffuse = Qt::red;
treeProps->assignObject(&partsys);
session.load();
@@ -127,7 +135,7 @@ QGLViewWindow::QGLViewWindow(QWidget * parent): QMainWindow(parent), Ui::QGLView
QGLViewWindow::~QGLViewWindow() {
session.save();
//delete ps;
// delete ps;
}
@@ -140,9 +148,9 @@ void QGLViewWindow::changeEvent(QEvent * e) {
}
void QGLViewWindow::timerEvent(QTimerEvent * ) {
//static double t = 0.;
//cam_light->intensity = checkCameraLight->isChecked() ? 0.5 : 0.;
void QGLViewWindow::timerEvent(QTimerEvent *) {
// static double t = 0.;
// cam_light->intensity = checkCameraLight->isChecked() ? 0.5 : 0.;
cam_light->setVisible(checkCameraLight->isChecked());
//((RendererSimple*)(view->view()->renderer()))->mpos = view->view()->mapFromGlobal(QCursor::pos());
statusBar()->showMessage(QString("FPS: %1").arg(QString::number(view->view()->currentFPS(), 'f', 2)));
@@ -179,7 +187,7 @@ void QGLViewWindow::makeObjetTree(const GLObjectBase * o, QTreeWidgetItem * ti)
if (o == axis) return;
for (int i = 0; i < o->childCount(); ++i) {
const GLObjectBase * co = o->child(i);
QTreeWidgetItem * ci = new QTreeWidgetItem(ti);
QTreeWidgetItem * ci = new QTreeWidgetItem(ti);
ci->setText(0, co->name());
ci->setData(0, Qt::UserRole, quintptr(co));
switch (co->type()) {
@@ -195,22 +203,22 @@ void QGLViewWindow::makeObjetTree(const GLObjectBase * o, QTreeWidgetItem * ti)
void QGLViewWindow::selectionChanged(GLObjectBase * cur, GLObjectBase *) {
sel_obj = cur;
//qDebug() << "selected" << (cur != 0 ? cur->name() : "0");
// qDebug() << "selected" << (cur != 0 ? cur->name() : "0");
labelName->setText(cur != nullptr ? cur->name() : "");
/**if (cur == 0) box->hide();
else {
box->setScale(cur->boundingBox().size());
box->setPos(cur->boundingBox().pos());
Box3D b = cur->boundingBox().movedTo(-cur->boundingBox().center());
b.z = -b.z - b.height;
ps->setEmitterRect(b);
cur->addChild(box);
box->show();
box->setScale(cur->boundingBox().size());
box->setPos(cur->boundingBox().pos());
Box3D b = cur->boundingBox().movedTo(-cur->boundingBox().center());
b.z = -b.z - b.height;
ps->setEmitterRect(b);
cur->addChild(box);
box->show();
}*/
objectEditor->setObject(sel_obj);
if (sel_obj == nullptr) return;
matEditor->setMaterial(sel_obj->material());
//qDebug() << sel_obj->boundingBox();
// qDebug() << sel_obj->boundingBox();
}
@@ -224,8 +232,10 @@ void QGLViewWindow::on_comboRenderer_currentIndexChanged(int val) {
GLRendererBase * pr = nullptr;
switch (val) {
case 0: view->view()->setRenderer(new RendererSimple(view->view()), &pr); break;
case 1: view->view()->setRenderer(new RendererDeferredShading(view->view()), &pr); break;
//case 2: view->view()->setRenderer(new RendererRT(view), &pr); break;
case 1:
view->view()->setRenderer(new RendererDeferredShading(view->view()), &pr);
break;
// case 2: view->view()->setRenderer(new RendererRT(view), &pr); break;
}
if (pr != nullptr) delete pr;
}
@@ -240,15 +250,18 @@ void QGLViewWindow::on_actionReset_triggered() {
void QGLViewWindow::on_actionImport_triggered() {
QStringList fl = QFileDialog::getOpenFileNames(this, "Select files", prev_path, "Supported types(*.qgl *.ase *.3ds *.obj *.dae);;"
"QGLView(*.qgl);;"
"Ascii Scene Export(*.ase);;"
"3D Studio(*.3ds);;"
"Wavefront OBJ(*.obj);;"
"Collada(*.dae)");
QStringList fl = QFileDialog::getOpenFileNames(this,
"Select files",
prev_path,
"Supported types(*.qgl *.ase *.3ds *.obj *.dae);;"
"QGLView(*.qgl);;"
"Ascii Scene Export(*.ase);;"
"3D Studio(*.3ds);;"
"Wavefront OBJ(*.obj);;"
"Collada(*.dae)");
if (fl.isEmpty()) return;
prev_path = fl.back();
foreach (QString f, fl)
foreach(QString f, fl)
importFile(f);
}
@@ -256,8 +269,7 @@ void QGLViewWindow::on_actionImport_triggered() {
void QGLViewWindow::on_actionSave_triggered() {
QString f = QFileDialog::getSaveFileName(this, "Select file", prev_path, "QGLView(*.qgl)");
if (f.isEmpty()) return;
if (f.right(4).toLower() != ".qgl")
f += ".qgl";
if (f.right(4).toLower() != ".qgl") f += ".qgl";
prev_path = f;
view->view()->removeObject(axis);
QApplication::setOverrideCursor(Qt::WaitCursor);
@@ -271,8 +283,7 @@ void QGLViewWindow::on_actionSaveSelected_triggered() {
if (!sel_obj) return;
QString f = QFileDialog::getSaveFileName(this, "Select file", prev_path, "QGLView(*.qgl)");
if (f.isEmpty()) return;
if (f.right(4).toLower() != ".qgl")
f += ".qgl";
if (f.right(4).toLower() != ".qgl") f += ".qgl";
prev_path = f;
QApplication::setOverrideCursor(Qt::WaitCursor);
saveToQGLFile(f, sel_obj);
@@ -281,12 +292,15 @@ void QGLViewWindow::on_actionSaveSelected_triggered() {
void QGLViewWindow::on_actionOpen_triggered() {
QString f = QFileDialog::getOpenFileName(this, "Select file", prev_path, "Supported types(*.qgl *.ase *.3ds *.obj *.dae);;"
"QGLView(*.qgl);;"
"Ascii Scene Export(*.ase);;"
"3D Studio(*.3ds);;"
"Wavefront OBJ(*.obj);;"
"Collada(*.dae)");
QString f = QFileDialog::getOpenFileName(this,
"Select file",
prev_path,
"Supported types(*.qgl *.ase *.3ds *.obj *.dae);;"
"QGLView(*.qgl);;"
"Ascii Scene Export(*.ase);;"
"3D Studio(*.3ds);;"
"Wavefront OBJ(*.obj);;"
"Collada(*.dae)");
if (f.isEmpty()) return;
prev_path = f;
importFile(f);
@@ -294,10 +308,9 @@ void QGLViewWindow::on_actionOpen_triggered() {
void QGLViewWindow::view_keyEvent(Qt::Key k, Qt::KeyboardModifiers m) {
//qDebug() << k;
// qDebug() << k;
double spd = 0.2;
if (m.testFlag(Qt::ShiftModifier))
spd = 0.5;
if (m.testFlag(Qt::ShiftModifier)) spd = 0.5;
switch (k) {
case Qt::Key_W: view->view()->camera()->moveForward(spd); break;
case Qt::Key_S: view->view()->camera()->moveBackward(spd); break;
@@ -309,17 +322,16 @@ void QGLViewWindow::view_keyEvent(Qt::Key k, Qt::KeyboardModifiers m) {
void QGLViewWindow::on_treeObjects_itemClicked(QTreeWidgetItem * ti, int) {
((GLObjectBase*)(ti->data(0, Qt::UserRole).toULongLong()))->select();
//qDebug() << ((GLObjectBase*)(ti->data(0, Qt::UserRole).toULongLong()))->type();
if (sel_obj->type() == GLObjectBase::glCamera)
view->view()->setCamera((Camera*)sel_obj);
((GLObjectBase *)(ti->data(0, Qt::UserRole).toULongLong()))->select();
// qDebug() << ((GLObjectBase*)(ti->data(0, Qt::UserRole).toULongLong()))->type();
if (sel_obj->type() == GLObjectBase::glCamera) view->view()->setCamera((Camera *)sel_obj);
}
void QGLViewWindow::removeObjects() {
QList<QTreeWidgetItem*> sil = treeObjects->selectedItems();
foreach (QTreeWidgetItem * i, sil) {
GLObjectBase * o = (GLObjectBase*)(i->data(0, Qt::UserRole).toULongLong());
QList<QTreeWidgetItem *> sil = treeObjects->selectedItems();
foreach(QTreeWidgetItem * i, sil) {
GLObjectBase * o = (GLObjectBase *)(i->data(0, Qt::UserRole).toULongLong());
delete o;
}
qDeleteAll(sil);
@@ -334,20 +346,19 @@ void QGLViewWindow::objectsTreeChanged() {
void QGLViewWindow::on_pushButton_clicked() {
//view->view()->removeLight(view->view()->lightsCount() - 1);
//setWindowTitle(QString::number(view->view()->lightsCount()));
// view->view()->removeLight(view->view()->lightsCount() - 1);
// setWindowTitle(QString::number(view->view()->lightsCount()));
QVector3D wp = view->view()->light(0)->worldPos();
view->view()->camera()->setPos(wp);
view->view()->camera()->setAim(wp + (view->view()->light(0)->worldTransform() * QVector4D(view->view()->light(0)->direction)).toVector3D()*100);
view->view()->camera()->setAim(
wp + (view->view()->light(0)->worldTransform() * QVector4D(view->view()->light(0)->direction)).toVector3D() * 100);
}
void QGLViewWindow::on_pushButton_3_clicked() {
QList<GLObjectBase * > ol = view->view()->objects(true);
QList<GLObjectBase *> ol = view->view()->objects(true);
qDebug() << ol.size();
foreach (GLObjectBase * i, ol) {
foreach(GLObjectBase * i, ol) {
i->VBO().rebuffer();
}
}