cisst-saw
Loading...
Searching...
No Matches
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
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://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
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;
62
64
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
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
size_t mDimension
Definition robLSPB.h:59
void Evaluate(const double time, vctDoubleVec &position, vctDoubleVec &velocity, vctDoubleVec &acceleration)
vctDoubleVec mVelocity
Definition robLSPB.h:68
vctDoubleVec mTemp
Definition robLSPB.h:73
bool mIsSet
Definition robLSPB.h:58
double Duration(void) const
Return duration.
double mDuration
Definition robLSPB.h:61
double mStartTime
Definition robLSPB.h:60
vctDoubleVec mAcceleration
Definition robLSPB.h:69
robLSPB(const vctDoubleVec &start, const vctDoubleVec &finish, const vctDoubleVec &velocity, const vctDoubleVec &acceleration, const double startTime=0.0, const CoordinationType coordination=LSPB_NONE)
CoordinationType
Definition robLSPB.h:55
@ LSPB_NONE
Definition robLSPB.h:55
@ LSPB_DURATION
Definition robLSPB.h:55
~robLSPB()
Definition robLSPB.h:84
vctDoubleVec mFinishTime
Definition robLSPB.h:71
vctDoubleVec mTimeScale
Definition robLSPB.h:72
void Evaluate(const double time, vctDoubleVec &position)
vctDoubleVec mStart
Definition robLSPB.h:66
double & StartTime(void)
Return start time.
vctDoubleVec mFinish
Definition robLSPB.h:67
CoordinationType mCoordination
Definition robLSPB.h:63
robLSPB(void)
vctDoubleVec mAccelerationTime
Definition robLSPB.h:70
void Set(const vctDoubleVec &start, const vctDoubleVec &finish, const vctDoubleVec &velocity, const vctDoubleVec &acceleration, const double startTime=0.0, const CoordinationType coordination=LSPB_NONE)
Set start and finish position as well as desired maximum velocities and accelerations....
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Typedef for dynamic vectors.
vctDynamicVector< double > vctDoubleVec
Definition vctDynamicVectorTypes.h:37