Example #1
0
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;
}
Example #3
0
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);
}
Example #4
0
/* 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;
}