Exemple #1
0
void GridManager::ConfigureGrid() {
  if (Config::bGPRTGrid) {
    ConfigureGPRT();
    //ConfigureGPRT2();
    //BoundaryConditionTest();
    //PressureBoundaryConditionTestSmallArea();
    //PressureBoundaryConditionTestBigArea();
  } else {
    ConfigureStandartGrid();
    //ConfigureTestGrid();
  }
  GridGeometryToInitialCells();
  AdoptInitialCells();
  //  PrintGrid();

  FillInGrid();
  LinkCells();
  InitCells();
  PrintInfo();
}
Exemple #2
0
void GLWidget::initializeGL()
{
    QGLFormat glFormat = QGLWidget::format();
    if (!glFormat.sampleBuffers()) { std::cerr << "Could not enable sample buffers." << std::endl; return; }

    glShadeModel(GL_SMOOTH);

    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glClearColor( 1.0, 1.0, 1.0, 1.0 );
    glEnable(GL_DEPTH_TEST);

    _shaderProgram = new QOpenGLShaderProgram();
    if (!_shaderProgram->addShaderFromSourceFile(QOpenGLShader::Vertex, "../OrganicLabyrinth/shader.vert"))
        { std::cerr << "Cannot load vertex shader." << std::endl; return; }

    if (!_shaderProgram->addShaderFromSourceFile(QOpenGLShader::Fragment, "../OrganicLabyrinth/shader.frag"))
        { std::cerr << "Cannot load fragment shader." << std::endl; return; }

    if ( !_shaderProgram->link() )
        { std::cerr << "Cannot link shaders." << std::endl; return; }

    _shaderProgram->bind();
    _mvpMatrixLocation = _shaderProgram->uniformLocation("mvpMatrix");
    _colorLocation = _shaderProgram->attributeLocation("vertexColor");
    _vertexLocation = _shaderProgram->attributeLocation("vert");
    _use_color_location = _shaderProgram->uniformLocation("use_color");


    InitCells();
    InitDots();

    // a bad thing
    ResetData();

}