All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
cardan_shaft.h
1 #ifndef CARDAN_SHAFT_H_
2 #define CARDAN_SHAFT_H_
3 
4 #include "mbsim/group.h"
5 
6 namespace MBSim {
7  class RigidBody;
8 }
9 
10 namespace MBSimPowertrain {
11 
12  class CardanShaft : public MBSim::Group {
13  public:
14  struct Data {
15  double massInputShaft;
16  double massIntermediateShaft;
17  double massOutputShaft;
18  fmatvec::SymMat inertiaTensorInputShaft;
19  fmatvec::SymMat inertiaTensorIntermediateShaft;
20  fmatvec::SymMat inertiaTensorOutputShaft;
21  double lengthInputShaft;
22  double lengthIntermediateShaft;
23  double lengthOutputShaft;
24  double radiusInputShaft;
25  double radiusIntermediateShaft;
26  double radiusOutputShaft;
27  Data();
28  };
29  protected:
30  MBSim::RigidBody *welle1, *welle2, *welle3;
31  Data data;
32 
33  public:
34  //CardanShaft(const std::string &name);
35  CardanShaft(const std::string &name, Data param=Data());
36  MBSim::RigidBody* getInputShaft() {return welle1;}
37  MBSim::RigidBody* getIntermediateShaft() {return welle2;}
38  MBSim::RigidBody* getOutputShaft() {return welle3;}
39  const Data& getData() const {return data;}
40  };
41 
42 }
43 
44 #endif
Definition: cardan_shaft.h:14
Definition: cardan_shaft.h:12

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML