cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
robKinematics.h
Go to the documentation of this file.
1 
2 
3 #ifndef _robKinematics_h
4 #define _robKinematics_h
5 
6 #include <iostream>
7 
10 #include <cisstRobot/robJoint.h>
11 
12 #if CISST_HAS_JSON
13 #include <json/json.h>
14 #endif
15 
16 #include <cisstRobot/robExport.h>
17 
19 
20  public:
21 
23 
26  {
31  MODIFIED_HAYATI
32  };
33 
34  private:
35 
37  robKinematics::Convention convention;
38 
39  protected:
40 
42  virtual void ReadParameters( std::istream& is ) = 0;
43 #if CISST_HAS_JSON
44  virtual void ReadParameters(const Json::Value &config) = 0;
45 #endif
46 
48  virtual void WriteParameters( std::ostream& os ) const = 0;
49 
50  public:
51 
54 
56  robKinematics( const robJoint& joint , robKinematics::Convention convention );
57 
58  virtual ~robKinematics() {}
59 
61 
64  robKinematics::Convention GetConvention() const { return convention; }
65 
67  robKinematics::Errno Read( std::istream& is );
68 #if CISST_HAS_JSON
69  robKinematics::Errno Read(const Json::Value &config);
70 #endif
71 
73  robKinematics::Errno Write( std::ostream& os ) const;
74 
76 
82  virtual vctFrame4x4<double> ForwardKinematics( double q ) const = 0;
83 
85 
91  virtual vctMatrixRotation3<double> Orientation( double q ) const = 0;
92 
94 
102  virtual vctFixedSizeVector<double,3> PStar() const = 0;
103 
105 
107  virtual robKinematics* Clone() const = 0;
108 
110 
112  static robKinematics* Instantiate( const std::string& type );
113 
114 };
115 
116 #endif // _robKinematics_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
robKinematics::Convention GetConvention() const
Return the kinematics convention.
Definition: robKinematics.h:64
virtual robJoint::Errno Read(std::istream &is)
Read from an input stream.
Definition: robKinematics.h:28
Convention
Kinematics convention.
Definition: robKinematics.h:25
virtual ~robKinematics()
Definition: robKinematics.h:58
Declaration of vctMatrixRotation3.
Declaration of vctFrame4x4.
Definition: robKinematics.h:18
Definition: robKinematics.h:30
Definition: robKinematics.h:29
virtual robJoint::Errno Write(std::ostream &os) const
Read from an input stream.
Joint types.
Definition: robJoint.h:35
Errno
Definition: robJoint.h:56
Definition: robKinematics.h:27