Choreonoid  1.5
ODESimulatorItem.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_ODEPLUGIN_ODE_SIMULATOR_ITEM_H
7 #define CNOID_ODEPLUGIN_ODE_SIMULATOR_ITEM_H
8 
9 #include <cnoid/SimulatorItem>
10 #include <cnoid/EigenTypes>
11 #include "exportdecl.h"
12 #ifdef GAZEBO_ODE
13 #define ODESimulatorItem GazeboODESimulatorItem
14 #endif
15 
16 namespace cnoid {
17 
18 class ODESimulatorItemImpl;
19 
21 {
22 public:
23  static void initializeClass(ExtensionManager* ext);
24 
27  virtual ~ODESimulatorItem();
28 
29  virtual void setAllLinkPositionOutputMode(bool on);
30 
31  enum StepMode { STEP_ITERATIVE, STEP_BIG_MATRIX, NUM_STEP_MODES };
32 
33  void setStepMode(int value);
34  void setGravity(const Vector3& gravity);
35  void setFriction(double friction);
36  void setJointLimitMode(bool on);
37  void set2Dmode(bool on);
38  void setGlobalERP(double erp);
39  void setGlobalCFM(double value);
40  void setNumIterations(int n);
41  void setOverRelaxation(double value);
42  void setCorrectingVelocityLimitMode(bool on);
43  void setMaxCorrectingVelocity(double vel);
44  void setSurfaceLayerDepth(double value);
45  void useWorldCollisionDetector(bool on);
46 
47 protected:
48 
49  virtual SimulationBody* createSimulationBody(Body* orgBody);
50  virtual bool initializeSimulation(const std::vector<SimulationBody*>& simBodies);
51  virtual void initializeSimulationThread();
52  virtual bool stepSimulation(const std::vector<SimulationBody*>& activeSimBodies);
53  virtual void finalizeSimulation();
54 
55  virtual Item* doDuplicate() const;
56  virtual void doPutProperties(PutPropertyFunction& putProperty);
57  virtual bool store(Archive& archive);
58  virtual bool restore(const Archive& archive);
59 
60 private:
61  ODESimulatorItemImpl* impl;
62  friend class ODESimulatorItemImpl;
63 };
64 
66 }
67 
68 #endif
Definition: SimulatorItem.h:80
Definition: Body.h:28
Definition: Archive.h:21
Definition: ExtensionManager.h:26
Definition: SimulatorItem.h:32
Definition: PutPropertyFunction.h:35
Definition: Referenced.h:128
ref_ptr< ODESimulatorItem > ODESimulatorItemPtr
Definition: ODESimulatorItem.h:65
Definition: Item.h:38
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: ODESimulatorItem.h:20
Eigen::Vector3d Vector3
Definition: EigenTypes.h:58
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
StepMode
Definition: ODESimulatorItem.h:31