コード例 #1
0
ファイル: viewportwidget.cpp プロジェクト: timakima/arteacher
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);
}
コード例 #2
0
ファイル: win3d.cpp プロジェクト: 2php/eblearn
  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");
  }
コード例 #3
0
/*!
  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);
}
コード例 #4
0
ファイル: modeldisplay.cpp プロジェクト: diorahman/arteacher
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);
}
コード例 #5
0
ファイル: scoredigit.cpp プロジェクト: paoletto/space-blok-qt
/*!
  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);
}
コード例 #6
0
ファイル: imageviewer.cpp プロジェクト: Dibel/3D-Explorer
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);
}