00001 #ifndef OPENTISSUE_DYNAMICS_MBD_SCRIPTED_MBD_SCRIPTED_MOTION_INTERFACE_H 00002 #define OPENTISSUE_DYNAMICS_MBD_SCRIPTED_MBD_SCRIPTED_MOTION_INTERFACE_H 00003 // 00004 // OpenTissue, A toolbox for physical based simulation and animation. 00005 // Copyright (C) 2007 Department of Computer Science, University of Copenhagen 00006 // 00007 #include <OpenTissue/configuration.h> 00008 00009 namespace OpenTissue 00010 { 00011 namespace mbd 00012 { 00023 template<typename mbd_types> 00024 class ScriptedMotionInterface 00025 : public mbd_types::identifier_type 00026 { 00027 public: 00028 00029 typedef typename mbd_types::body_type body_type; 00030 typedef typename mbd_types::math_policy::real_type real_type; 00031 typedef typename mbd_types::math_policy::vector3_type vector3_type; 00032 typedef typename mbd_types::math_policy::quaternion_type quaternion_type; 00033 00034 public: 00035 00052 virtual void compute(body_type const & body,real_type const & time,vector3_type & r,quaternion_type & q, vector3_type & v,vector3_type & w)=0; 00053 00054 }; 00055 00056 } // namespace mbd 00057 } // namespace OpenTissue 00058 // OPENTISSUE_DYNAMICS_MBD_SCRIPTED_MBD_SCRIPTED_MOTION_INTERFACE_H 00059 #endif