Logo Search packages:      
Sourcecode: blender version File versions

GLDebugDrawer.cpp

#include "GLDebugDrawer.h"
#include "SimdPoint3.h"

#ifdef WIN32 //needed for glut.h
#include <windows.h>
#endif
#include <GL/glut.h>
#include "BMF_Api.h"
#include <stdio.h> //printf debugging
GLDebugDrawer::GLDebugDrawer()
:m_debugMode(0)
{

}
void  GLDebugDrawer::DrawLine(const SimdVector3& from,const SimdVector3& to,const SimdVector3& color)
{
      if (m_debugMode > 0)
      {
            glBegin(GL_LINES);
            glColor3f(color.getX(), color.getY(), color.getZ());
            glVertex3d(from.getX(), from.getY(), from.getZ());
            glVertex3d(to.getX(), to.getY(), to.getZ());
            glEnd();
      }
}

void  GLDebugDrawer::SetDebugMode(int debugMode)
{
      m_debugMode = debugMode;

}

void  GLDebugDrawer::DrawContactPoint(const SimdVector3& pointOnB,const SimdVector3& normalOnB,float distance,int lifeTime,const SimdVector3& color)
{
      if (m_debugMode & IDebugDraw::DBG_DrawContactPoints)
      {
            SimdVector3 to=pointOnB+normalOnB*distance;
            const SimdVector3&from = pointOnB;
            glBegin(GL_LINES);
            glColor3f(color.getX(), color.getY(), color.getZ());
            glVertex3d(from.getX(), from.getY(), from.getZ());
            glVertex3d(to.getX(), to.getY(), to.getZ());
            glEnd();
      
            glRasterPos3f(from.x(),  from.y(),  from.z());
            char buf[12];
            sprintf(buf," %d",lifeTime);
            BMF_DrawString(BMF_GetFont(BMF_kHelvetica10),buf);


      }
}

Generated by  Doxygen 1.6.0   Back to index