cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
robFunctionRn.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 _robFunctionRn_h
21 #define _robFunctionRn_h
22 
25 
26 #include <cisstRobot/robFunction.h>
27 #include <cisstRobot/robExport.h>
28 
30 
31  protected:
32 
33  vctDynamicVector<double> y1; // initial value
34  vctDynamicVector<double> y1d; // initial 1st derivative
35  vctDynamicVector<double> y1dd; // initial 2nd derivative
36 
37  vctDynamicVector<double> y2; // final value
38  vctDynamicVector<double> y2d; // final 1st derivative
39  vctDynamicVector<double> y2dd; // final 2nd derivative
40 
41  public:
42 
43  robFunctionRn( void );
44 
45  robFunctionRn( double t1,
48  const vctFixedSizeVector<double,3>& p1dd,
49  double t2,
52  const vctFixedSizeVector<double,3>& p2dd );
53 
54  robFunctionRn( double t1,
55  const vctDynamicVector<double>& p1,
56  const vctDynamicVector<double>& p1d,
57  const vctDynamicVector<double>& p1dd,
58  double t2,
59  const vctDynamicVector<double>& p2,
60  const vctDynamicVector<double>& p2d,
61  const vctDynamicVector<double>& p2dd );
62 
63  virtual ~robFunctionRn() {}
64 
65  void Set( double t1,
66  const vctDynamicVector<double>& p1,
67  const vctDynamicVector<double>& p1d,
68  const vctDynamicVector<double>& p1dd,
69  double t2,
70  const vctDynamicVector<double>& p2,
71  const vctDynamicVector<double>& p2d,
72  const vctDynamicVector<double>& p2dd );
73 
74  void InitialState( vctDynamicVector<double>& p,
77 
78  void FinalState( vctDynamicVector<double>& p,
81 
82  void InitialState( vctFixedSizeVector<double,3>& p, double& v, double& vd );
83  void FinalState ( vctFixedSizeVector<double,3>& p, double& v, double& vd );
84 
85  virtual void Evaluate( double,
89 
90  virtual void Evaluate( double,
94 
95  virtual void Blend( robFunction* function,
96  const vctDynamicVector<double>& qd,
97  const vctDynamicVector<double>& qdd ) = 0;
98 
99  virtual void Blend( robFunction* function, double vmax, double vdmax ) = 0;
100 
101 
102 };
103 
104 #endif // _robFunctionRn_h
vctDynamicVector< double > y1dd
Definition: robFunctionRn.h:35
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
vctDynamicVector< double > y1
Definition: robFunctionRn.h:33
void Set(double startTime, double stopTime)
Set start and stop time.
vctDynamicVector< double > y2d
Definition: robFunctionRn.h:38
Base class for robot function.
Definition: robFunction.h:31
vctDynamicVector< double > y1d
Definition: robFunctionRn.h:34
vctDynamicVector< double > y2dd
Definition: robFunctionRn.h:39
Declaration of vctDynamicVector.
int CISST_EXPORT Blend(svlSampleImage *src1_img, unsigned int src1_videoch, svlSampleImage *src2_img, unsigned int src2_videoch, svlSampleImage *mask_img, unsigned int mask_videoch, svlSampleImage *dst_img, unsigned int dst_videoch)
virtual void Evaluate(double, vctDynamicVector< double > &, vctDynamicVector< double > &, vctDynamicVector< double > &)
Definition: robFunctionRn.h:90
Declaration of vctFixedSizeVector.
virtual ~robFunctionRn()
Definition: robFunctionRn.h:63
virtual void Evaluate(double, vctFixedSizeVector< double, 3 > &, vctFixedSizeVector< double, 3 > &, vctFixedSizeVector< double, 3 > &)
Definition: robFunctionRn.h:85
Definition: robFunctionRn.h:29
vctDynamicVector< double > y2
Definition: robFunctionRn.h:37