00001 #ifndef _GEOM_HPP_ 00002 #define _GEOM_HPP_ 00003 00004 /* --------------------------------------------------------------- *\ 00005 00006 author: 00007 00008 mathias gumz 00009 00010 \* --------------------------------------------------------------- */ 00011 00012 00013 namespace math 00014 { 00015 00016 template<typename T> 00017 class Point : public Chunk<T, 3> 00018 { 00019 00020 }; // class Point 00021 00022 template<typename T> 00023 class Line 00024 { 00025 public: 00026 00027 Point<T> pos; 00028 Vec<T, 3> dir; 00029 00030 }; // class Line 00031 00032 template<typename T> 00033 class Plane 00034 { 00035 public: 00036 00037 Point<T> pos; 00038 Vec<T, 3> uvec; 00039 Vec<T, 3> vvec; 00040 Vec<T, 3> normal; // speed issue, saved normal is faster than calculated 00041 00042 }; // class Plane 00043 00044 template<typename T> 00045 class Polygon 00046 { 00047 public: 00048 std::vector<Point<T> > vertex; 00049 }; // class Polygon 00050 00051 #include <ak/geom.inl> 00052 00053 }; // namespace math 00054 00055 #endif // _GEOM_HPP_ 00056
1.3.2