![]() |
TAPs 0.7.7.3
|
00001 /****************************************************************************** 00002 TAPsModelArticulatedBody.hpp 00003 ******************************************************************************/ 00007 /****************************************************************************** 00008 SUKITTI PUNAK (03/25/2010) 00009 UPDATE (05/01/2010) 00010 ******************************************************************************/ 00011 #ifndef TAPs_ARTICULATED_BODY_HPP 00012 #define TAPs_ARTICULATED_BODY_HPP 00013 00014 //#include "RigidBodies/TAPsRigidBodyBase.hpp" 00015 #include "RigidBodies/TAPsRigidBodyDynamics.hpp" 00016 #include "../DataStructure/TAPsDirectedGraph.hpp" 00017 00018 // Forward class 00019 template <typename T> class ArticulatedBodySetup; 00020 00021 BEGIN_NAMESPACE_TAPs 00022 //============================================================================= 00023 template <typename T> 00024 class ModelArticulatedBody { 00025 //============================================================================= 00026 template <typename T> friend class ArticulatedBodySetup; 00027 public: 00028 // Member Functions ------------------------------------------------------- 00030 friend std::ostream & operator<< ( std::ostream &output, ModelArticulatedBody<T> const &obj ) 00031 { 00032 output << obj.StrInfo(); 00033 return output; 00034 } 00035 //------------------------------------------------------------------------- 00037 ModelArticulatedBody (); 00039 ModelArticulatedBody ( std::string articulatedBodyFile ); 00041 //ModelArticulatedBody ( ModelArticulatedBody<T> const &orig ); 00043 virtual ~ModelArticulatedBody (); 00044 //------------------------------------------------------------------------- 00046 virtual std::string StrInfo () const; 00047 //------------------------------------------------------------------------- 00049 //inline ModelArticulatedBody<T> & operator= ( ModelArticulatedBody<T> const &orig ); 00050 00051 // Data Members ----------------------------------------------------------- 00052 //============================================================================= 00053 protected: 00054 // Member Functions ------------------------------------------------------- 00055 // Data Members ----------------------------------------------------------- 00056 std::vector< RigidBodyDynamics<T> > m_ListRigidBodies; 00057 // Connected information --> rigidbodyid, connnectedPts, ... --> NEEDED GRAPH 00058 //============================================================================= 00059 private: 00060 // Member Functions ------------------------------------------------------- 00061 // Data Members ----------------------------------------------------------- 00062 //============================================================================= 00063 00064 #if defined(__gl_h_) || defined(__GL_H__) 00065 public: 00067 virtual void Draw () const; 00068 #endif 00069 00070 //============================================================================= 00071 }; // END CLASS ModelArticulatedBody 00072 //============================================================================= 00073 END_NAMESPACE_TAPs 00074 //----------------------------------------------------------------------------- 00076 #include "TAPsModelArticulatedBody.cpp" 00077 00079 // Include definition if TAPs_USE_EXPORT is not defined 00080 //#if !defined( TAPs_USE_EXPORT ) 00081 // #include "TAPsModelArticulatedBody.cpp" 00082 //#endif 00083 //----------------------------------------------------------------------------- 00084 #endif 00085 //34567890123456789012345678901234567890123456789012345678901234567890123456789 00086 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----