All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
differential_gear.h
1 #ifndef DIFFERENTIAL_GEAR_H_
2 #define DIFFERENTIAL_GEAR_H_
3 
4 #include "mbsim/group.h"
5 
6 namespace MBSim {
7  class RigidBody;
8 }
9 
10 namespace MBSimPowertrain {
11 
12  class DifferentialGear : public MBSim::Group {
13  public:
14  struct Data {
15  double massHousing;
16  double massInputShaft;
17  double massRightOutputShaft;
18  double massLeftOutputShaft;
19  double massPlanet;
20  fmatvec::SymMat inertiaTensorHousing;
21  fmatvec::SymMat inertiaTensorInputShaft;
22  fmatvec::SymMat inertiaTensorRightOutputShaft;
23  fmatvec::SymMat inertiaTensorLeftOutputShaft;
24  fmatvec::SymMat inertiaTensorPlanet;
25  double lengthInputShaft;
26  double lengthRightOutputShaft;
27  double lengthLeftOutputShaft;
28  double lengthPlanet;
29  double radiusInputShaft;
30  double radiusLeftOutputShaft;
31  double radiusRightOutputShaft;
32  double radiusPlanet;
33  Data();
34  };
35  protected:
36  Data data;
37  MBSim::RigidBody *shaft2, *shaft4, *shaft5;
38 
39  public:
40  DifferentialGear(const std::string &name, Data data=Data(), bool planetIndependent=false);
41  double getRadiusInputShaft() const {return data.radiusInputShaft;}
42  MBSim::RigidBody* getInputShaft() {return shaft2;}
43  MBSim::RigidBody* getRightOutputShaft() {return shaft5;}
44  MBSim::RigidBody* getLeftOutputShaft() {return shaft4;}
45  };
46 
47 }
48 
49 #endif
Definition: differential_gear.h:12
Definition: differential_gear.h:14

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML