Choreonoid  1.1
BodySymmetry.h
[詳解]
1 
6 #ifndef CNOID_BODY_BODY_SYMMETRY_H_INCLUDED
7 #define CNOID_BODY_BODY_SYMMETRY_H_INCLUDED
8 
9 #include "Body.h"
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
15  {
16  public:
18 
19  enum OperationType { LEFT_TO_RIGHT, RIGHT_TO_LEFT, FLIP };
20  void apply(OperationType op);
21 
22  private:
23 
24  BodyPtr body;
25 
26  struct JointSymmetry {
27  int counterPartId;
28  double sign;
29  double offset;
30  };
31  typedef std::map<int, JointSymmetry> JointSymmetryMap;
32  JointSymmetryMap jointSymmetryMap;
33 
34  struct LinkSymmetry {
35  int counterPartIndex;
36  };
37  typedef std::map<int, LinkSymmetry> LinkSymmetryMap;
38  LinkSymmetryMap linkSymmetryMap;
39  };
40 }
41 
42 #endif
boost::intrusive_ptr< Body > BodyPtr
Definition: Body.h:22
OperationType
Definition: BodySymmetry.h:19
Definition: BodySymmetry.h:14
Definition: EasyScanner.h:16
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
Definition: BodySymmetry.h:19