#include "Geo2D_Draw.h" #include "UTIL_openGL.h" //================================================================================================// /********************************************** ** functions that draw the geometrix objects ** **********************************************/ //================================================================================================// namespace GeoDraw2D { void DrawLine(Line l) { glBegin(GL_LINES); glVertex2fv(l.s.v); glVertex2fv(l.e.v); //normal glColor3f(1,0,0); glVertex2fv((l.s + l.r*(l.d*0.5f)).v); glColor3f(1,1,0); glVertex2fv((l.s + l.r*(l.d*0.5f) + l.n*5).v); glEnd(); glBegin(GL_POINTS); glColor3f(0,1,0); glVertex2fv(l.s.v); glColor3f(0,0,1); glVertex2fv(l.e.v); glEnd(); } void DrawLine(Vec2 s, Vec2 e) { glBegin(GL_LINES); glVertex2fv(s.v); glVertex2fv(e.v); glEnd(); /* glPointSize(5); glBegin(GL_POINTS); glColor3f(0,1,0); glVertex2fv(s.v); glColor3f(0,0,1); glVertex2fv(e.v); glEnd(); */ } void DrawBox(Box b) { glBegin(GL_LINE_LOOP); glVertex2f(b.mins.x, b.mins.y); glVertex2f(b.maxs.x, b.mins.y); glVertex2f(b.maxs.x, b.maxs.y); glVertex2f(b.mins.x, b.maxs.y); glEnd(); glBegin(GL_POINTS); glVertex2fv(b.p.v); glEnd(); } void DrawSphere(Sphere s, int numPoints) { float degree = (float)(360/numPoints); float d=0; glBegin(GL_LINE_LOOP); for(int n=0; n