My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
QuadPath.h
Go to the documentation of this file.
1 #ifndef GCP_UTIL_QUADPATH_H
2 #define GCP_UTIL_QUADPATH_H
3 
11 // Include the C-style struct and method definitions this class is
12 // based on.
13 
14 #include "gcp/control/code/unix/libunix_src/common/quad.h"
15 #include "gcp/control/code/unix/libunix_src/common/const.h" // pi and twopi
16 
17 namespace gcp {
18  namespace util {
19 
27  class QuadPath {
28 
29  public:
30 
34  enum QuadType {
39 
44 
49  };
50 
55  struct QuadData {
56 
61 
66  void init();
67  };
68 
79  QuadPath(double empty_value, QuadType type);
80 
84  ~QuadPath();
85 
91  void get(QuadData* data);
92 
111  void set(QuadData* data);
112 
122  void empty();
123 
159  void extend(double x, double y);
160 
164  double eval(double x);
165 
169  double grad(double x);
170 
171  private:
172 
177  gcp::control::QuadPath* quadpath_;
178 
179  // Private methods
180 
185  double extendAngle(double a, double b);
186 
190  QP_ANGLE_FN(angle_around_zero);
191 
195  QP_ANGLE_FN(angle_around_pi);
196 
197  }; // End class QuadPath
198 
199  }; // End namespace util
200 }; // End namespace gcp
201 
202 #endif
Definition: quad.h:40
Definition: QuadPath.h:38
Definition: quad.c:11
void extend(double x, double y)
Definition: QuadPath.cc:136
QuadType
Definition: QuadPath.h:34
void set(QuadData *data)
Definition: QuadPath.cc:219
double grad(double x)
Definition: QuadPath.cc:100
void empty()
Definition: QuadPath.cc:73
~QuadPath()
Definition: QuadPath.cc:60
Definition: QuadPath.h:55
gcp::control::QuadData quaddata_
Definition: QuadPath.h:60
Definition: QuadPath.h:43
Definition: QuadPath.h:27
QuadPath(double empty_value, QuadType type)
Definition: QuadPath.cc:26
void init()
Definition: QuadPath.cc:228
double eval(double x)
Definition: QuadPath.cc:87