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

This commit is contained in:
2019-05-27 16:36:51 +00:00
parent 09e7268779
commit bb75525a3b
37 changed files with 926 additions and 683 deletions

View File

@@ -35,9 +35,9 @@ QGLViewWindow::QGLViewWindow(QWidget * parent): QMainWindow(parent), Ui::QGLView
icon_camera = QIcon(":/icons/type-camera.png");
icon_light = QIcon(":/icons/type-light.png");
sel_obj = 0;
view->view()->camera().setAim(QVector3D());
view->view()->camera().setPos(QVector3D(2, 2, 2));
sel_obj = nullptr;
view->view()->camera()->setAim(QVector3D());
view->view()->camera()->setPos(QVector3D(2, 2, 2));
// view->setFrameShape(QFrame::NoFrame);
view->view()->setRenderer(new RendererSimple(view->view()));
view->view()->setMouseRotateEnabled(true);
@@ -105,7 +105,7 @@ QGLViewWindow::QGLViewWindow(QWidget * parent): QMainWindow(parent), Ui::QGLView
cam_light = new Light();
cam_light->intensity = 0.5;
cam_light->setName("Camera_Light");
view->view()->camera().addChild(cam_light);
view->view()->camera()->addChild(cam_light);
view->view()->start(-1);
startTimer(1000/60);
@@ -153,7 +153,7 @@ void QGLViewWindow::loadFile(const QString & path) {
void QGLViewWindow::importFile(const QString & path) {
QApplication::setOverrideCursor(Qt::WaitCursor);
QFileInfo fi(path);
GLObjectBase * o = 0;
GLObjectBase * o = nullptr;
if (fi.suffix().toLower() == "qgl") o = loadFromQGLFile(path);
if (fi.suffix().toLower() == "ase") o = loadFromASEFile(path);
if (fi.suffix().toLower() == "3ds") o = loadFrom3DSFile(path);
@@ -188,10 +188,10 @@ void QGLViewWindow::makeObjetTree(const GLObjectBase * o, QTreeWidgetItem * ti)
}
void QGLViewWindow::selectionChanged(GLObjectBase * cur, GLObjectBase * prev) {
void QGLViewWindow::selectionChanged(GLObjectBase * cur, GLObjectBase *) {
sel_obj = cur;
//qDebug() << "selected" << (cur != 0 ? cur->name() : "0");
labelName->setText(cur != 0 ? cur->name() : "");
labelName->setText(cur != nullptr ? cur->name() : "");
/**if (cur == 0) box->hide();
else {
box->setScale(cur->boundingBox().size());
@@ -203,26 +203,26 @@ void QGLViewWindow::selectionChanged(GLObjectBase * cur, GLObjectBase * prev) {
box->show();
}*/
objectEditor->setObject(sel_obj);
if (sel_obj == 0) return;
if (sel_obj == nullptr) return;
matEditor->setMaterial(sel_obj->material());
//qDebug() << sel_obj->boundingBox();
}
void QGLViewWindow::materialChanged() {
if (sel_obj == 0) return;
if (sel_obj == nullptr) return;
sel_obj->setMaterial(matEditor->material());
}
void QGLViewWindow::on_comboRenderer_currentIndexChanged(int val) {
GLRendererBase * pr = 0;
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;
}
if (pr != 0) delete pr;
if (pr != nullptr) delete pr;
}
@@ -294,20 +294,20 @@ void QGLViewWindow::view_keyEvent(Qt::Key k, Qt::KeyboardModifiers m) {
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;
case Qt::Key_A: view->view()->camera().moveLeft(spd); break;
case Qt::Key_D: view->view()->camera().moveRight(spd); break;
case Qt::Key_W: view->view()->camera()->moveForward(spd); break;
case Qt::Key_S: view->view()->camera()->moveBackward(spd); break;
case Qt::Key_A: view->view()->camera()->moveLeft(spd); break;
case Qt::Key_D: view->view()->camera()->moveRight(spd); break;
default: break;
}
}
void QGLViewWindow::on_treeObjects_itemClicked(QTreeWidgetItem * ti, int col) {
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);
view->view()->setCamera((Camera*)sel_obj);
}
@@ -322,8 +322,8 @@ void QGLViewWindow::on_pushButton_clicked() {
//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()->setPos(wp);
view->view()->camera()->setAim(wp + (view->view()->light(0)->worldTransform() * QVector4D(view->view()->light(0)->direction)).toVector3D()*100);
}