tgShapeCreator.h
Go to the documentation of this file.
00001 
00010 #ifndef TGSHAPECREATOR_H
00011 #define TGSHAPECREATOR_H
00012 
00013 #include <vector>
00014 
00015 #include <blort/TomGine/tgModel.h>
00016 
00017 #define TETRAHEDRON 0
00018 #define OCTAHEDRON 1
00019 #define ICOSAHEDRON 2
00020 
00021 namespace TomGine{
00022 
00023 class tgShapeCreator{
00024 private:
00025         int n_vertices;
00026         int n_faces;
00027         int n_edges;
00028         int edge_walk; 
00029         float *vertices;
00030         int *faces; 
00031         int *start; 
00032         int *end; 
00033         int *midpoint; 
00034         
00035         void init_tetrahedron();
00036         void init_octahedron();
00037         void init_icosahedron();
00038         
00039         int search_midpoint(int index_start, int index_end);
00040         void subdivide();
00041 
00042 public:
00043         tgShapeCreator();
00044         
00045         void CreateSphere(tgModel& model, float radius, int subdevisions, int method=0);
00046         void CreateBox(tgModel& model, float x, float y, float z);
00047         void CreateCylinder(tgModel &model, float radius, float height, int slices, int stacks, bool closed);
00048         void CreateCone(tgModel &model, float radius, float height, int slices, int stacks, bool closed);
00049         
00050         void CreateConvexHull(tgModel &model, std::vector<vec3> points);
00051         
00052         void TriangulatePolygon(tgModel& model, std::vector<vec3> points);
00053         
00054 };
00055 
00056 }
00057  
00058  #endif


blort
Author(s): Michael Zillich, Thomas Mörwald, Johann Prankl, Andreas Richtsfeld, Bence Magyar (ROS version)
autogenerated on Thu Jan 2 2014 11:38:26