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 #ifndef _OPENGL_DRAWER_HPP_
00020 #define _OPENGL_DRAWER_HPP_
00021
00022 #include <mesh.hpp>
00023 #include <v3.hpp>
00024
00025 namespace cpe
00026 {
00027 class grid;
00028 class surface_param_drawable;
00029
00031 class opengl_drawer
00032 {
00033 public:
00034
00041 static void draw(const mesh& m,const std::vector<v3>& normal);
00043 static void draw(const mesh& m);
00044
00046 static void draw(const grid& g);
00048 static void draw(const surface_param_drawable& surf);
00050 static void draw_curve(const std::vector<std::vector<cpe::v3> >& curves);
00051
00057 static void draw_normals(const mesh& m,const std::vector<v3>& normal,const double& L_scaling=1.0);
00058
00059
00061 static void generate_texture(const unsigned int& id_texture,const std::string& filename);
00062
00063 private:
00064
00066 static void draw_edges(const mesh& m);
00068 static void draw_per_polygon_normal(const mesh& m,const std::vector<v3>& normal);
00070 static void draw_per_vertex_normal(const mesh& m,const std::vector<v3>& normal);
00071
00072 };
00073 }
00074
00075 #endif