Beispiel #1
0
void Charge::drawPrivate(bool selected) 
{
   glPushMatrix();
   glMultMatrixd(m_frame.matrix());
   
   if (selected) {
      glColor4fv(Primitive::s_selectColor);
   }else {
      glColor4fv(m_color);
   }

   if (m_drawMode == Primitive::WireFrame) {
      glPointSize(getRadius(selected));
      glDisable(GL_LIGHTING);
      glBegin(GL_POINTS);
         glVertex3f(0.0, 0.0, 0.0);
      glEnd();
      glEnable(GL_LIGHTING);
   }else {
      GLfloat scale(getRadius(selected));
      //drawCube(scale);
      drawOctahedron(scale);
   }

   glPopMatrix();
}
Beispiel #2
0
void FitTest::draw() 
{
    m_drawer->geometry(m_allGeo);
	// m_drawer->linearCurve(*m_curve);
	//m_drawer->smoothCurve(*m_curve, 8);
	//glBegin(GL_POINTS);
	//unsigned i=0;
	
	//glColor3f(0.f, 0.f, .5f);
	//for(;i<m_numSamples;i++)
	//	glVertex3fv((GLfloat *)&m_samples[i]);
	//glEnd();
	//glColor3f(0.8f, 0.f, 0.f);
	//for(i=1; i<m_numReducedP+1; i++)
		//m_drawer->arrow(m_reducedP[i-1], m_reducedP[i]);
	
	// int vv[2];
	// int ee[2];
	// float dV, dE;
	// Vector3F a, b, c, d;
	//for(i=0; i<m_numGroups; i++) {
		//drawOctahedron(m_octa[i]);
		/*if(i>0) {
			dV = m_octa[i].movePoleCost(vv, m_octa[i-1]);
			
			dE = m_octa[i].moveEdgeCost(ee, m_octa[i-1]);
			
			if(dV <= dE) {
				glColor3f(.5f, .5f, 0.f);
				m_drawer->arrow(m_octa[i].p()[vv[0]], m_octa[i-1].p()[vv[1]]);
			}
			else {
				glColor3f(0.f, .5f, .5f);
			
				m_octa[i].getEdge(a, b, ee[0]);
				m_octa[i-1].getEdge(c, d, ee[1]);
				m_drawer->arrow(a, c);
				m_drawer->arrow(b, d);
			}
		}*/
	//}
	
	glColor3f(.8f, .8f, .8f);
	glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
#if DGB_DRAW
	
#else
	drawTetrahedron();
#endif
	glColor3f(.128f, .28f, .128f);
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
	drawTetrahedron();
	
#if DGB_DRAW
	drawOctahedron(m_drawer);
	drawSamples(m_drawer);
#endif
}