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); }
/*! \internal */ QQuickQGraphicsTransform3D *QGraphicsTranslation3D::clone(QObject *parent) const { Q_D(const QGraphicsTranslation3D); QGraphicsTranslation3D *copy = new QGraphicsTranslation3D(parent); copy->setTranslate(d->translate); copy->setProgress(d->progress); return copy; }
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); }
/* Creates an individual randomly positioned ball */ QGLSceneNode *ModelBall::createNode(QGLMaterial *material) { const float defaultSize = 1.0; const float positionX = -1.5; const float positionY = 40.0; const float randomPositionScale = 1000.0; QGLBuilder builder; QGLSceneNode *node; builder.newNode(); builder << QGLSphere(defaultSize); node = builder.finalizedSceneNode(); node->setMaterial(material); node->setEffect(QGL::LitMaterial); QGraphicsTranslation3D *trans = new QGraphicsTranslation3D(); node->addTransform(trans); QGraphicsTranslation3D *transStart = new QGraphicsTranslation3D(); QVector3D *randomStart = new QVector3D(positionX + randomPosition()/randomPositionScale, positionY + randomPosition()/randomPositionScale, randomPosition()/randomPositionScale); transStart->setTranslate(*randomStart); node->addTransform(transStart); return node; }