6 #ifndef CNOID_BODY_FORWARD_DYNAMICS_H_INCLUDED
7 #define CNOID_BODY_FORWARD_DYNAMICS_H_INCLUDED
10 #include <boost/shared_ptr.hpp>
11 #include <boost/intrusive_ptr.hpp>
26 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
29 virtual ~ForwardDynamics();
31 void setGravityAcceleration(
const Vector3& g);
32 void setEulerMethod();
33 void setRungeKuttaMethod();
34 void setTimeStep(
double timeStep);
35 void enableSensors(
bool on);
38 virtual void calcNextState() = 0;
42 virtual void initializeSensors();
43 virtual void updateSensorsFinal();
64 enum { EULER_METHOD, RUNGEKUTTA_METHOD } integrationMode;
69 void initializeAccelSensors();
Vector3 g
Definition: ForwardDynamics.h:60
boost::intrusive_ptr< Body > BodyPtr
Definition: Body.h:22
Eigen::Matrix2d Matrix2
Definition: EigenTypes.h:23
BodyPtr body
Definition: ForwardDynamics.h:59
double timeStep
Definition: ForwardDynamics.h:61
Definition: EasyScanner.h:16
Eigen::Vector2d Vector2
Definition: EigenTypes.h:24
bool sensorsEnabled
Definition: ForwardDynamics.h:62
Eigen::Vector3d Vector3
Definition: EigenTypes.h:26
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
boost::shared_ptr< ForwardDynamics > ForwardDynamicsPtr
Definition: ForwardDynamics.h:77
Eigen::Matrix3d Matrix3
Definition: EigenTypes.h:25
Definition: ForwardDynamics.h:23