cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
robQuintic.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5  Author(s): Simon Leonard
6  Created on: 2009-11-11
7 
8  (C) Copyright 2009-2014 Johns Hopkins University (JHU), All Rights
9  Reserved.
10 
11 --- begin cisst license - do not edit ---
12 
13 This software is provided "as is" under an open source license, with
14 no warranty. The complete license can be found in license.txt and
15 http://www.cisst.org/cisst/license.txt.
16 
17 --- end cisst license ---
18 */
19 
20 #ifndef _robQuintic_h
21 #define _robQuintic_h
22 
23 //#include <cisstVector/vctFixedSizeVector.h>
25 #include <cisstRobot/robExport.h>
26 
28 
29  private:
30 
31  bool IsSet;
32  std::vector< vctFixedSizeVector<double,6> > X; // the quintic parameters
33 
35  ComputeParameters( double t1, double y1, double y1d, double y1dd,
36  double t2, double y2, double y2d, double y2dd );
37 
38  void EvaluateQuintic( double t,
40  double& y, double& yd, double& ydd);
41 
42  public:
43 
45  robQuintic( void );
46 
48 
61  robQuintic( double t1,
64  const vctFixedSizeVector<double,3>& y1dd,
65  double t2,
68  const vctFixedSizeVector<double,3>& y2dd );
69 
71 
84  robQuintic( double t1,
85  const vctDynamicVector<double>& y1,
86  const vctDynamicVector<double>& y1d,
87  const vctDynamicVector<double>& y1dd,
88  double t2,
89  const vctDynamicVector<double>& y2,
90  const vctDynamicVector<double>& y2d,
91  const vctDynamicVector<double>& y2dd );
92 
93  virtual ~robQuintic() {}
94 
95  void Set( double t1,
96  const vctDynamicVector<double>& y1,
97  const vctDynamicVector<double>& y1d,
98  const vctDynamicVector<double>& y1dd,
99  double t2,
100  const vctDynamicVector<double>& y2,
101  const vctDynamicVector<double>& y2d,
102  const vctDynamicVector<double>& y2dd );
103 
104  void Evaluate( double t,
108 
109  void Evaluate( double t,
113 
114 
115  void Blend( robFunction* function,
116  const vctDynamicVector<double>& qdmax,
117  const vctDynamicVector<double>& qddmax );
118 
119  void Blend( robFunction*, double, double );
120 };
121 
122 #endif // _robQuintic_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
virtual void Blend(robFunction *function, const vctDynamicVector< double > &qd, const vctDynamicVector< double > &qdd)=0
Definition: robQuintic.h:27
Base class for robot function.
Definition: robFunction.h:31
void Set(double t1, const vctDynamicVector< double > &p1, const vctDynamicVector< double > &p1d, const vctDynamicVector< double > &p1dd, double t2, const vctDynamicVector< double > &p2, const vctDynamicVector< double > &p2d, const vctDynamicVector< double > &p2dd)
virtual void Evaluate(double, vctFixedSizeVector< double, 3 > &, vctFixedSizeVector< double, 3 > &, vctFixedSizeVector< double, 3 > &)
Definition: robFunctionRn.h:85
Definition: robFunctionRn.h:29
virtual ~robQuintic()
Definition: robQuintic.h:93