00001 #ifndef _asc_hh_ 00002 #define _asc_hh_ 00003 00004 #include <vector> 00005 #include <vector.hh> 00006 00007 class Vertex; 00008 00009 struct Triangle { 00010 int A, B, C; 00011 anoid::simple::Vector normal; 00012 Triangle(int a, int b, int c): A(a), B(b), C(c) {} 00013 }; 00014 00015 class Vertex: public anoid::simple::Vector { 00016 private: 00017 anoid::simple::Vector normal; 00018 public: 00019 anoid::simple::Vector* getNormal(); 00020 Vertex(double x, double y, double z): anoid::simple::Vector(x, y, z), normal(anoid::simple::O) {} 00021 friend class ASC; 00022 }; 00023 00024 class ASC{ 00025 public: 00026 std::vector <Vertex *> vertices; 00027 std::vector <Triangle> triangles; 00028 ASC(std::string& filename); 00029 ~ASC(); 00030 }; 00031 00032 #endif