void ViewportWidget::buildPane() { QGLBuilder builder; if (_bgr) { delete _bgr; _bgr = NULL; } builder.newSection(); QGraphicsTranslation3D *trans = new QGraphicsTranslation3D(); QGraphicsRotation3D *rot = new QGraphicsRotation3D(); trans->setTranslate(QVector3D(0.0f, 0.0f, -1.0f)); rot->setAxis(QVector3D(1, 0, 0)); rot->setAngle(180); qreal size = 7.3f; builder.addPane(QSizeF(size, size * (qreal)SCREEN_HEIGHT / (qreal)SCREEN_WIDTH)); _bgr = builder.finalizedSceneNode(); _bgr->addTransform(trans) ; _bgr->addTransform(rot); _bgrImage = QImage(SCREEN_WIDTH, SCREEN_HEIGHT, QImage::Format_RGB888); _texture = new QGLTexture2D(); _texture->setImage(_bgrImage); }
line3d::line3d(float x_, float y_, float z_, float x1_, float y1_, float z1_, int r, int g, int b, int a) : x(x_), y(y_), z(z_), x1(x1_), y1(y1_), z1(z1_), node(NULL), col(r, g, b, a) { QGLBuilder builder; builder.addPane(1); node = builder.finalizedSceneNode(); node->setDrawingMode(QGL::Lines); //EDEBUG("win3d added: " << describe()); eblerror("not implemented"); }
/*! Constuctor, creates 2D pane by using Qt3D QGLBuilder to which there is a light material set. */ LightParticle::LightParticle(QGLMaterialCollection *materialCollection, int materialIndex) { QGLBuilder builder; builder.newSection(QGL::Faceted); builder.addPane(QSizeF(4.0f, 4.0f)); addNode(builder.finalizedSceneNode()); setEffect(QGL::FlatReplaceTexture2D); setPalette(materialCollection); setMaterialIndex(materialIndex); }
void ModelDisplay::buildPane() { _displayValue.fill(0); QGLBuilder builder; QGraphicsTranslation3D *trans = new QGraphicsTranslation3D(); trans->setTranslate(QVector3D(-0.125f, 1.5f, -0.12f)); builder.newSection(); builder.addPane(QSizeF(0.9f, 0.75f)); _mainNode = builder.finalizedSceneNode(); _mainNode->addTransform(trans); _texture = new QGLTexture2D(); _texture->setImage(_displayValue); }
/*! Constructor, the material collection and indexes of 10 materials are given to access the materials for each digit. */ ScoreDigit::ScoreDigit(QGLMaterialCollection *materialCollection, int materialIndex, const QVector3D &pos, QGLSceneNode *parent) : QGLSceneNode(parent) { QGLBuilder builder; builder.addPane(0.7f); QGLSceneNode *rootNode = builder.finalizedSceneNode(); addNode(rootNode->children()[0]->clone(this)); delete rootNode; rootNode = 0; setPosition(pos); setPalette(materialCollection); setMaterialIndex(materialIndex); setEffect(QGL::FlatReplaceTexture2D); // Hide the digit at start setValue(-1); }
ImageViewer::ImageViewer(int w, int h) { // the body QGLBuilder builder; builder.newSection(QGL::Faceted); builder.addPane(QSizeF(w, h)); body = builder.finalizedSceneNode(); body->setMaterial(new QGLMaterial()); body->setEffect(QGL::FlatReplaceTexture2D); // prev button QVector3DArray vertices; vertices.append(-w * 0.4, 0, 0.01); vertices.append(-w * 0.3, -h * 0.1, 0.01); vertices.append(-w * 0.3, h * 0.1, 0.01); QGeometryData triangle; triangle.appendVertexArray(vertices); QGLBuilder prevBuilder; prevBuilder.newSection(QGL::Faceted); prevBuilder.addTriangles(triangle); prevBtn = prevBuilder.finalizedSceneNode(); prevBtn->setEffect(QGL::FlatColor); // next button vertices.clear(); vertices.append(w * 0.4, 0, 0); vertices.append(w * 0.3, h * 0.1, 0.01); vertices.append(w * 0.3, -h * 0.1, 0.01); triangle.clear(); triangle.appendVertexArray(vertices); QGLBuilder nextBuilder; nextBuilder.newSection(QGL::Faceted); nextBuilder.addTriangles(triangle); nextBtn = nextBuilder.finalizedSceneNode(); nextBtn->setEffect(QGL::FlatColor); }