void BccWorld::draw() { // BoundingBox box; // m_grid->getBounding(box); // glColor3f(.21f, .21f, .21f); // m_drawer->boundingBox(box); // m_grid->draw(m_drawer, (unsigned *)m_mesh.m_anchorBuf->data()); drawTetrahedronMesh(); drawAnchor(); drawTriangleMesh(); glDisable(GL_DEPTH_TEST); // glColor3f(.59f, .02f, 0.f); // drawCurves(); // drawCurveStars(); const unsigned selectedCurveGrp = m_cluster->currentGroup(); if(m_cluster->isGroupIdValid(selectedCurveGrp)) { m_drawer->setGroupColorLight(selectedCurveGrp); m_drawer->geometry(m_cluster->group(selectedCurveGrp)); } // m_drawer->drawKdTree(m_triIntersect); }
void BccWorld::drawTetrahedronMesh() { unsigned i=0; for(;i<m_numMeshes; i++) { glEnable(GL_DEPTH_TEST); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glColor3f(0.51f, 0.53f, 0.52f); drawTetrahedronMesh(m_meshes[i].numTetrahedrons(), m_meshes[i].points(), m_meshes[i].indices()); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glColor3f(.03f, .14f, .44f); drawTetrahedronMesh(m_meshes[i].numTetrahedrons(), m_meshes[i].points(), m_meshes[i].indices()); } }
void BccInterface::drawWorld(BccWorld * world, KdTreeDrawer * drawer) { const float das = world->drawAnchorSize(); const unsigned n = world->numTetrahedronMeshes(); unsigned i; for(i=0;i<n;i++) { drawTetrahedronMesh(world->tetrahedronMesh(i), drawer); drawAnchors(world->tetrahedronMesh(i), drawer, das); } if(world->triangleGeometries()) drawGeometry(world->triangleGeometries(), drawer); unsigned igroup; GeometryArray * selected = world->selectedGroup(igroup); if(selected) { drawer->setGroupColorLight(igroup); glDisable(GL_DEPTH_TEST); drawer->geometry(selected); } if(m_patchMesh) { glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glColor3f(.03f, .14f, .44f); drawer->geometry(m_patchMesh); } if(m_tetMesh) { #if 0 drawTetrahedronMesh(m_tetMesh, drawer); #else glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glColor3f(.03f, .14f, .44f); drawer->tetrahedronMesh(m_tetMesh); #endif } const std::vector<AOrientedBox> * boxes = world->patchBoxes(); glColor3f(0.f, 0.99f, 0.f); glBegin(GL_LINES); std::vector<AOrientedBox>::const_iterator it = boxes->begin(); for(;it!=boxes->end();++it) drawer->orientedBox(&(*it)); glEnd(); }