![]() |
TAPs 0.7.7.3
|
00001 /****************************************************************************** 00002 STAPsSkeleton.hpp 00003 ******************************************************************************/ 00009 /****************************************************************************** 00010 SUKITTI PUNAK (0x/0x/2011) 00011 UPDATE (0x/0x/2011) 00012 ******************************************************************************/ 00013 #ifndef STAPs_SKELETON_HPP 00014 #define STAPs_SKELETON_HPP 00015 00016 #include "../Core/TAPsStdLib.hpp" 00017 00018 BEGIN_NAMESPACE_TAPs 00019 //============================================================================= 00020 template <typename T> 00021 class Skeleton { 00022 //============================================================================= 00023 public: 00024 // Member Functions ------------------------------------------------------- 00026 friend std::ostream & operator<< ( std::ostream &output, Skeleton<T> const &obj ) 00027 { 00028 output << obj.StrInfo(); 00029 return output; 00030 } 00031 //------------------------------------------------------------------------- 00033 Skeleton (); 00035 Skeleton ( Skeleton<T> const &orig ); 00037 virtual ~Skeleton (); 00038 //------------------------------------------------------------------------- 00040 virtual std::string StrInfo () const; 00041 //------------------------------------------------------------------------- 00043 inline Skeleton<T> & operator= ( Skeleton<T> const &orig ); 00044 //------------------------------------------------------------------------- 00046 inline bool operator== ( Skeleton<T> const &v ) const; 00047 inline bool operator< ( Skeleton<T> const &v ) const; 00048 inline bool operator>= ( Skeleton<T> const &v ) const; 00049 inline bool operator> ( Skeleton<T> const &v ) const; 00050 inline bool operator<= ( Skeleton<T> const &v ) const; 00051 //------------------------------------------------------------------------- 00058 static inline int Dominate ( Skeleton<T> const &a, Skeleton<T> const &b ); 00059 // Data Members ----------------------------------------------------------- 00060 //============================================================================= 00061 protected: 00062 // Member Functions ------------------------------------------------------- 00063 // Data Members ----------------------------------------------------------- 00064 T m_tX, m_tY, m_tZ; 00065 //============================================================================= 00066 private: 00067 // Member Functions ------------------------------------------------------- 00068 // Data Members ----------------------------------------------------------- 00069 //============================================================================= 00070 00071 00072 //============================================================================= 00073 // OpenGL 00074 #if defined(__gl_h_) || defined(__GL_H__) 00075 //----------------------------------------------------------------------------- 00076 public: 00078 virtual void Draw () const; 00079 //----------------------------------------------------------------------------- 00080 #endif // OpenGL 00081 //============================================================================= 00082 00083 00084 //============================================================================= 00085 }; // END CLASS Skeleton 00086 //============================================================================= 00087 //----------------------------------------------------------------------------- 00089 typedef Skeleton<int> Skeletoni; 00090 typedef Skeleton<float> Skeletonf; 00091 typedef Skeleton<double> Skeletond; 00092 //============================================================================= 00093 END_NAMESPACE_TAPs 00094 //----------------------------------------------------------------------------- 00096 #include "STAPsSkeleton.cpp" 00097 00099 // Include definition if TAPs_USE_EXPORT is not defined 00100 #if !defined( TAPs_USE_EXPORT ) 00101 #include "STAPsSkeleton.cpp" 00102 #endif 00103 //----------------------------------------------------------------------------- 00104 #endif 00105 //34567890123456789012345678901234567890123456789012345678901234567890123456789 00106 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----