cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
prmVelocityCartesianSet.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): Rajesh Kumar, Anton Deguet
6  Created on: 2008-03-12
7 
8  (C) Copyright 2008 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 
27 #ifndef _prmVelocityCartesianSet_h
28 #define _prmVelocityCartesianSet_h
29 
32 
33 // Always include last
35 
36 
41 
44 {
46  protected:
47 
49 
53 
56 
59 
62 
65 
66  public:
69  {}
70 
73  const vctDouble3 & velocityAngular,
74  const vctDouble3 & acceleration,
75  const vctDouble3 & accelerationAngular,
76  const vctBool6 & mask):
77  Velocity(velocity),
78  VelocityAngular(velocityAngular),
79  Acceleration(acceleration),
80  AccelerationAngular(accelerationAngular),
81  Mask(mask)
82  {}
83 
85  virtual ~prmVelocityCartesianSet();
86 
91  inline void SetGoal(const vctDouble6 & velocities)
92  {
93  this->Velocity[0] = velocities[0];
94  this->Velocity[1] = velocities[1];
95  this->Velocity[2] = velocities[2];
96  this->VelocityAngular[0] = velocities[3];
97  this->VelocityAngular[1] = velocities[4];
98  this->VelocityAngular[2] = velocities[5];
99  }
100 
101  /*Set Translational Velocities only
102  \param velocity translational velocity
103  \return void
104  */
105  inline void SetTranslationGoal(const vctDouble3 & velocity)
106  {
107  this->Velocity.Assign(velocity);
108  }
109 
114  inline void SetRotationGoal(const vctDouble3 & velocityAngular)
115  {
116  this->VelocityAngular.Assign(velocityAngular);
117  }
118 
122  inline vctDouble3 GetGoal(void) const
123  {
124  return this->Velocity;
125  }
126 
131  inline void SetVelocity(const vctDouble3 & velocity)
132  {
133  this->Velocity = velocity;
134  }
135 
139  inline vctDouble3 GetVelocity(void) const
140  {
141  return this->Velocity;
142  }
143 
148  inline void SetAngularVelocity(const vctDouble3 & velocityAngular)
149  {
150  this->VelocityAngular = velocityAngular;
151  }
152 
156  inline vctDouble3 GetAngularVelocity(void) const
157  {
158  return this->VelocityAngular;
159  }
160 
165  inline void SetAcceleration(const vctDouble3 & acceleration)
166  {
167  this->Acceleration = acceleration;
168  }
169 
173  inline vctDouble3 GetAcceleration(void) const
174  {
175  return this->Acceleration;
176  }
177 
182  inline void SetAngularAcceleration(const vctDouble3 & accelerationAngular)
183  {
184  this->AccelerationAngular = accelerationAngular;
185  }
186 
191  {
192  return this->AccelerationAngular;
193  }
194 
199  inline void SetMask(const vctBool6 & mask)
200  {
201  this->Mask = mask;
202  }
203 
207  inline vctBool6 GetMask(void) const
208  {
209  return this->Mask;
210  }
211 
212 
214  void SerializeRaw(std::ostream & outputStream) const;
215 
217  void DeSerializeRaw(std::istream & inputStream);
218 
219 
220 }; // _prmVelocityCartesianSet_h
221 
222 
224 
225 
226 #endif
227 
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
prmVelocityCartesianSet()
Definition: prmVelocityCartesianSet.h:68
prmVelocityCartesianSet(const vctDouble3 &velocity, const vctDouble3 &velocityAngular, const vctDouble3 &acceleration, const vctDouble3 &accelerationAngular, const vctBool6 &mask)
Definition: prmVelocityCartesianSet.h:72
vctBool6 GetMask(void) const
Definition: prmVelocityCartesianSet.h:207
vctDouble3 GetAngularVelocity(void) const
Definition: prmVelocityCartesianSet.h:156
void SetAcceleration(const vctDouble3 &acceleration)
Definition: prmVelocityCartesianSet.h:165
vctBool6 Mask
Definition: prmVelocityCartesianSet.h:64
Definition: prmMotionBase.h:36
void SetTranslationGoal(const vctDouble3 &velocity)
Definition: prmVelocityCartesianSet.h:105
vctDouble3 GetGoal(void) const
Definition: prmVelocityCartesianSet.h:122
Typedef for fixed size vectors.
vctDouble3 Velocity
Definition: prmVelocityCartesianSet.h:52
void SetRotationGoal(const vctDouble3 &velocityAngular)
Definition: prmVelocityCartesianSet.h:114
vctDouble3 GetAngularAcceleration(void) const
Definition: prmVelocityCartesianSet.h:190
void SetGoal(const vctDouble6 &velocities)
Definition: prmVelocityCartesianSet.h:91
CMN_DECLARE_SERVICES_INSTANTIATION(prmVelocityCartesianSet)
vctDouble3 AccelerationAngular
Definition: prmVelocityCartesianSet.h:61
vctDouble3 GetVelocity(void) const
Definition: prmVelocityCartesianSet.h:139
void SetAngularVelocity(const vctDouble3 &velocityAngular)
Definition: prmVelocityCartesianSet.h:148
Definition: prmVelocityCartesianSet.h:43
vctDouble3 Acceleration
Definition: prmVelocityCartesianSet.h:58
void SetVelocity(const vctDouble3 &velocity)
Definition: prmVelocityCartesianSet.h:131
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
vctDouble3 VelocityAngular
Definition: prmVelocityCartesianSet.h:55
void SetAngularAcceleration(const vctDouble3 &accelerationAngular)
Definition: prmVelocityCartesianSet.h:182
void SetMask(const vctBool6 &mask)
Definition: prmVelocityCartesianSet.h:199
void SerializeRaw(std::ostream &outputStream) const
const int CMN_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:331
vctDouble3 GetAcceleration(void) const
Definition: prmVelocityCartesianSet.h:173
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
prmMotionBase BaseType
Definition: prmVelocityCartesianSet.h:48
void DeSerializeRaw(std::istream &inputStream)