DynamicBody.h

00001 /****************************************************************************
00002  * Copyright 2005 Evan Drumwright
00003  * This library is distributed under the terms of the GNU General Public 
00004  * License (found in COPYING).
00005  ****************************************************************************/
00006 
00007 #ifndef _DYNAMIC_BODY_H
00008 #define _DYNAMIC_BODY_H
00009 
00010 #include <Physsim/Base.h>
00011 #include <Physsim/Visualizable.h>
00012 #include <Physsim/Vector3.h>
00013 #include <Physsim/Matrix3.h>
00014 #include <Physsim/Matrix4.h>
00015 
00016 namespace Physsim {
00017 
00019 
00025 class DynamicBody : public Visualizable
00026 {
00027         public:
00028                 DynamicBody() {}
00029                 DynamicBody(const DynamicBody* d) : Visualizable(d) {}          
00030                 virtual ~DynamicBody() {}
00031                 
00033                 virtual void calc_fwd_dyn() = 0;
00034                 
00036                 virtual VectorN get_state() = 0;
00037                         
00039                 virtual VectorN get_state_deriv() = 0;
00040                         
00042                 virtual void set_state(const VectorN& state) = 0;
00043                         
00045                 virtual void reset_accumulators() = 0;
00046 
00048                 virtual void transform(const Matrix4& T) = 0;
00049 }; // end class
00050 
00051 } // end namespace
00052 
00053 #endif

Generated on Wed Oct 24 14:54:21 2007 for Physsim by  doxygen 1.5.1