Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

HV_bsp.h

Go to the documentation of this file.
00001 /***************************************************************************************************/ 00002 /***************************************************************************************************/ 00011 /***************************************************************************************************/ 00012 /***************************************************************************************************/ 00013 #ifndef HV_BSP_H 00014 #define HV_BSP_H 00015 00016 /*------------------------------------ Prototypes ---------------------------------------------*/ 00017 class cHV_Wall; 00018 00019 /*------------------------------------ Includes ---------------------------------------------*/ 00020 00021 00022 #include "2D_bsp.h" 00023 #include "bsp.h" 00024 00025 00026 /*------------------------------------ Types ---------------------------------------------*/ 00027 00029 typedef cBSP_Node< cHV_Wall> cHV_Node; 00030 00034 typedef cBSP_Tree< cPoint2D , cHV_Node , cHV_Wall > cHV_BSP_Tree; 00035 00036 00037 /*------------------------------------- Classes ---------------------------------------------*/ 00038 00039 00040 /*************************************************************************************************/ 00042 /*************************************************************************************************/ 00043 class cHV_Wall : public cWall 00044 { 00046 friend std::ostream &operator<<(std::ostream &os, const cHV_Wall &ex);// { return os << ex.p0 << "-->" << ex.p1; }; 00047 public: 00049 cHV_Wall(); 00051 cHV_Wall(cWall& wall); 00053 cHV_Wall( cPoint2D &A, cPoint2D &B); 00054 00056 BSP_POSITION_POINT Get_Position_Point( cPoint2D & A ); 00058 void Get_Wall_Seg(cHV_Seg & wall); 00059 00061 inline bool Is_Horizontal() 00062 { 00063 return bHorizontal; 00064 } 00065 00067 00071 BSP_POSITION_DIVIDER Get_Position_Divider_And_Split( cHV_Wall & w , cHV_Wall & w_front , cHV_Wall & w_back ); 00072 00073 private: 00074 bool bHorizontal; 00075 00077 00078 void Set_HV(); 00079 00081 00083 void Set_Order(); 00084 00086 00090 void Get_Intersection( cHV_Wall& w ,cPoint2D& p_inter); 00091 }; 00092 00093 00094 00095 00096 #endif

Generated on Fri May 21 19:22:37 2004 for LIBELL by doxygen 1.3.7