CrossFramework Library

XBase/AABBox2i.hpp

説明を見る。
00001 
00006 #if defined(XBASE_INCLUDED_AABBOX2I_HPP)
00007 #else
00008 #define XBASE_INCLUDED_AABBOX2I_HPP
00009 
00010 //------------------------------------------------------------
00011 #include <XBase/Vector2i.hpp>
00012 
00013 //------------------------------------------------------------
00014 namespace XBase {
00015     class AABBox2;
00016 }
00017 
00018 //------------------------------------------------------------
00019 namespace XBase {
00021 
00022 
00044     class AABBox2i
00045     {
00046     public:
00047         //------------------------------------------------------------
00049 
00050         static const AABBox2i Largest(); 
00051 
00052 
00053         //------------------------------------------------------------
00055 
00056         AABBox2i(); 
00057         AABBox2i( const Vector2iPOD& aBegin ); 
00058         AABBox2i( const Vector2iPOD& aBegin , uint aWidth , uint aHeight ); 
00059 
00060         
00061         //------------------------------------------------------------
00063 
00064         const Vector2iPOD begin()const; 
00065         const Vector2iPOD end()const;   
00066         const Vector2iPOD min()const;  
00067         const Vector2iPOD term()const; 
00068 
00069 
00070         //------------------------------------------------------------
00072 
00073         uint width()const;  
00074         uint height()const; 
00075 
00076         
00077         //------------------------------------------------------------
00079 
00080         bool isPositive()const; 
00081         const AABBox2i toPositive()const; 
00082 
00083 
00084         //------------------------------------------------------------
00086 
00087         const AABBox2i merge( const AABBox2i& aAABB )const; 
00088         void mergeAssign( const AABBox2i& aAABB ); 
00089 
00090         
00091         //------------------------------------------------------------
00093 
00094 
00099         bool isIntersects( const AABBox2i& aAABB )const;
00100 
00105         bool isContains( const Vector2iPOD& aPos )const;
00106 
00112         bool isContains( const AABBox2i& aAABB )const;
00114         
00115         //------------------------------------------------------------
00117 
00118         const AABBox2i add( const Vector2iPOD& aTrans )const; 
00119         const AABBox2i sub( const Vector2iPOD& aTrans )const; 
00120         void addAssign( const Vector2iPOD& aTrans ); 
00121         void subAssign( const Vector2iPOD& aTrans ); 
00122 
00123         
00124         //------------------------------------------------------------
00126 
00127         const AABBox2i operator+( const Vector2iPOD& )const; 
00128         const AABBox2i operator-( const Vector2iPOD& )const; 
00129         AABBox2i& operator+=( const Vector2iPOD& ); 
00130         AABBox2i& operator-=( const Vector2iPOD& ); 
00131 
00132 
00133         //------------------------------------------------------------
00135 
00136         const AABBox2 toAABB2f()const; 
00137 
00138 
00139     private:
00140         Vector2i mMin;
00141         Vector2i mTerm;
00142     };
00144 }
00145 //------------------------------------------------------------
00146 #endif
00147 // EOF
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義