opengl_drawer.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _OPENGL_DRAWER_HPP_
00021 #define _OPENGL_DRAWER_HPP_
00022
00023 #include <mesh.hpp>
00024 #include <v3.hpp>
00025 #include <spring_mesh.hpp>
00026
00027 namespace cpe
00028 {
00029
00031 class opengl_drawer
00032 {
00033 public:
00034
00041 static void draw(const mesh& m,const std::vector<double>& normal);
00043 static void draw(const mesh& m);
00044
00045 static void draw(const spring_mesh& m);
00046
00047
00053 static void draw_normals(const mesh& m,const std::vector<double>& normal,const double& L_scaling=1.0);
00054
00055
00057 static void generate_texture(const unsigned int& id_texture,const std::string& filename);
00058
00060 static void draw_spring(const cpe::v3& p0,const cpe::v3& p1);
00061
00062 private:
00063
00065 static void draw_edges(const mesh& m);
00067 static void draw_per_polygon_normal(const mesh& m,const std::vector<double>& normal);
00069 static void draw_per_vertex_normal(const mesh& m,const std::vector<double>& normal);
00070
00071 };
00072 }
00073
00074 #endif