cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
robLSPB.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): Anton Deguet
6  Created on: 2014-10-27
7 
8  (C) Copyright 2014 Johns Hopkins University (JHU), All Rights Reserved.
9 
10 --- begin cisst license - do not edit ---
11 
12 This software is provided "as is" under an open source license, with
13 no warranty. The complete license can be found in license.txt and
14 http://www.cisst.org/cisst/license.txt.
15 
16 --- end cisst license ---
17 */
18 
19 #ifndef _robLSPB_h
20 #define _robLSPB_h
21 
23 
24 
25 // Always include last
26 #include <cisstRobot/robExport.h>
27 
53 
54  public:
55  typedef enum {LSPB_NONE, LSPB_DURATION} CoordinationType;
56 
57  protected:
58  bool mIsSet;
59  size_t mDimension;
60  double mStartTime;
61  double mDuration;
64 
66  mStart,
67  mFinish,
68  mVelocity,
69  mAcceleration,
70  mAccelerationTime,
71  mFinishTime,
72  mTimeScale,
73  mTemp;
74 
75  public:
76  robLSPB(void);
77  robLSPB(const vctDoubleVec & start,
78  const vctDoubleVec & finish,
79  const vctDoubleVec & velocity,
80  const vctDoubleVec & acceleration,
81  const double startTime = 0.0,
82  const CoordinationType coordination = LSPB_NONE);
83 
84  ~robLSPB() {};
85 
96  void Set(const vctDoubleVec & start,
97  const vctDoubleVec & finish,
98  const vctDoubleVec & velocity,
99  const vctDoubleVec & acceleration,
100  const double startTime = 0.0,
101  const CoordinationType coordination = LSPB_NONE);
102 
103  void Evaluate(const double time,
104  vctDoubleVec & position,
105  vctDoubleVec & velocity,
106  vctDoubleVec & acceleration);
107 
108  void Evaluate(const double time,
109  vctDoubleVec & position);
110 
112  double & StartTime(void);
113 
115  double Duration(void) const;
116 };
117 
118 #endif // _robLSPB_h
CoordinationType
Definition: robLSPB.h:55
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
vctDoubleVec mVelocity
Definition: robLSPB.h:66
Typedef for dynamic vectors.
bool mIsSet
Definition: robLSPB.h:58
~robLSPB()
Definition: robLSPB.h:84
double mStartTime
Definition: robLSPB.h:60
Linear Segments with Parabolic Blends trajectory generator.
Definition: robLSPB.h:52
double mDuration
Definition: robLSPB.h:61
Definition: robLSPB.h:55
CoordinationType mCoordination
Definition: robLSPB.h:63
size_t mDimension
Definition: robLSPB.h:59