$search
00001 #ifndef GRAPHICSHELPER_H 00002 #define GRAPHICSHELPER_H 00003 00004 //== INCLUDES ================================================================== 00005 #include <vector> 00006 #include <GL/glew.h> 00007 #include <GL/gl.h> 00008 #include <GL/glu.h> 00009 #include "rtc/rtcGLInfo.h" 00010 #include "rtc/rtcVec3.h" 00011 00012 //== NAMESPACES ================================================================ 00013 namespace rtc { 00014 00015 //== CLASS DEFINITION ========================================================== 00016 class GraphicsHelper 00017 { 00018 public: 00019 GraphicsHelper(void); 00020 ~GraphicsHelper(void); 00021 00022 public: 00023 void drawSphere(double x, double y, double z, double scale=1.0); 00024 void drawCoordinateFrame(double scale = 1.0); 00025 void drawGrid(double center_x=0, double center_y=0, int size=100, double resolution=1.0) const; 00026 Vec3uc getColorFromPalette(int index); 00027 00028 protected: 00029 void initializeArrow(); 00030 00031 bool arrow_initialized; 00032 GLuint arrow_triangle_vertices_vbo; 00033 GLuint arrow_triangle_normals_vbo; 00034 GLuint arrow_quad_vertices_vbo; 00035 GLuint arrow_quad_normals_vbo; 00036 00037 GLint initializeSphere(); 00038 bool sphere_display_initialized; 00039 GLint sphere_display_list; 00040 GLuint sphere_vertices_vbo; 00041 GLuint sphere_normals_vbo; 00042 int num_sphere_vertices; 00043 00044 static const GLbyte sphere_face_indicies[180][6]; 00045 static const GLfloat sphere_vertices [92][3]; 00046 static const GLfloat sphere_normals [102][3]; 00047 00048 #define COLOR_PALETTE_SIZE 13 00049 static const unsigned char graphics_colorpalette[COLOR_PALETTE_SIZE][3]; 00050 }; 00051 00052 //============================================================================== 00053 } // namespace rtc 00054 //============================================================================== 00055 #endif // GRAPHICSHELPER_H 00056 //============================================================================== 00057 00058