cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
prmPositionCartesianSet.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-2012 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 _prmPositionCartesianSet_h
28 #define _prmPositionCartesianSet_h
29 
33 
34 // Always include last
36 
41 {
43 
44  protected:
46 
49 
53 
57 
60 
63 
66 
67  public:
70  {}
71 
74  const vctDouble3 & velocity,
75  const vctDouble3 & velocityAngular,
76  const vctDouble3 & acceleration,
77  const vctDouble3 & accelerationAngular,
78  const vctBool2 & mask):
79  GoalMember(goal),
80  Velocity(velocity),
81  VelocityAngular(velocityAngular),
82  Acceleration(acceleration),
83  AccelerationAngular(accelerationAngular),
84  Mask(mask)
85  {}
86 
89  virtual ~prmPositionCartesianSet();
90 
96  void SetGoal(const vctDoubleFrm3 & goal, const vctBool2 & mask)
97  {
98  this->GoalMember = goal;
99  this->Mask = mask;
100  }
101 
106  vctFrm3 & Goal(void)
107  {
108  return GoalMember;
109  }
110 
111  const vctFrm3 & Goal(void) const
112  {
113  return GoalMember;
114  }
115 
116 
121  void SetGoal(const vctDoubleFrm3 & goal)
122  {
123  this->GoalMember = goal;
124  }
125 
130  void SetGoal(const vctDouble3 & position)
131  {
132  GoalMember.Translation().Assign(position);
133  }
134 
139  void SetGoal(const vctDoubleRot3 & orientation)
140  {
141  this->GoalMember.Rotation().Assign(orientation);
142  }
143 
147  vctDoubleFrm3 GetGoal(void) const
148  {
149  return this->GoalMember;
150  }
151 
156  void SetVelocity(const vctDouble3 & velocity)
157  {
158  this->Velocity = velocity;
159  }
160 
165  {
166  return this->Velocity;
167  }
168 
173  void SetAngularVelocity(const vctDouble3 & velocityAngular)
174  {
175  this->VelocityAngular = velocityAngular;
176  }
177 
182  {
183  return this->VelocityAngular;
184  }
185 
190  inline void SetAcceleration(const vctDouble3 & acceleration)
191  {
192  this->Acceleration = acceleration;
193  }
194 
198  inline vctDouble3 GetAcceleration(void) const
199  {
200  return this->Acceleration;
201  }
202 
207  inline void SetAngularAcceleration(const vctDouble3 & accelerationAngular)
208  {
209  this->AccelerationAngular = accelerationAngular;
210  }
211 
216  {
217  return this->AccelerationAngular;
218  }
219 
224  inline void SetMask(const vctBool2 & mask)
225  {
226  this->Mask = mask;
227  }
228 
232  inline vctBool2 GetMask(void) const
233  {
234  return this->Mask;
235  }
236 
238  void SerializeRaw(std::ostream & outputStream) const;
239 
241  void DeSerializeRaw(std::istream & inputStream);
242 
243 
244 }; // _prmPositionCartesianSet_h
245 
246 
248 
249 
250 #endif // _prmPositionCartesianSet_h
251 
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
void SetGoal(const vctDoubleFrm3 &goal)
Definition: prmPositionCartesianSet.h:121
vctDouble3 GetVelocity(void) const
Definition: prmPositionCartesianSet.h:164
vctDouble3 VelocityAngular
Definition: prmPositionCartesianSet.h:56
Definition: prmMotionBase.h:36
void SetAngularVelocity(const vctDouble3 &velocityAngular)
Definition: prmPositionCartesianSet.h:173
vctDouble3 GetAngularAcceleration(void) const
Definition: prmPositionCartesianSet.h:215
Typedef for fixed size vectors.
vctDouble3 GetAcceleration(void) const
Definition: prmPositionCartesianSet.h:198
prmPositionCartesianSet()
Definition: prmPositionCartesianSet.h:69
vctFrm3 & Goal(void)
Definition: prmPositionCartesianSet.h:106
prmMotionBase BaseType
Definition: prmPositionCartesianSet.h:45
Typedef for different transformations.
CMN_DECLARE_SERVICES_INSTANTIATION(prmPositionCartesianSet)
vctDoubleFrm3 GoalMember
Definition: prmPositionCartesianSet.h:48
void SetVelocity(const vctDouble3 &velocity)
Definition: prmPositionCartesianSet.h:156
void SetGoal(const vctDoubleRot3 &orientation)
Definition: prmPositionCartesianSet.h:139
void SetGoal(const vctDoubleFrm3 &goal, const vctBool2 &mask)
Definition: prmPositionCartesianSet.h:96
vctDouble3 Velocity
Definition: prmPositionCartesianSet.h:52
vctBool2 GetMask(void) const
Definition: prmPositionCartesianSet.h:232
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
void SetGoal(const vctDouble3 &position)
Definition: prmPositionCartesianSet.h:130
vctDouble3 Acceleration
Definition: prmPositionCartesianSet.h:59
void SetMask(const vctBool2 &mask)
Definition: prmPositionCartesianSet.h:224
vctBool2 Mask
Definition: prmPositionCartesianSet.h:65
void SetAcceleration(const vctDouble3 &acceleration)
Definition: prmPositionCartesianSet.h:190
const vctFrm3 & Goal(void) const
Definition: prmPositionCartesianSet.h:111
void SerializeRaw(std::ostream &outputStream) const
vctDoubleFrm3 GetGoal(void) const
Definition: prmPositionCartesianSet.h:147
vctDouble3 AccelerationAngular
Definition: prmPositionCartesianSet.h:62
const int CMN_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:331
Definition: prmPositionCartesianSet.h:40
vctDouble3 GetAngularVelocity(void) const
Definition: prmPositionCartesianSet.h:181
void SetAngularAcceleration(const vctDouble3 &accelerationAngular)
Definition: prmPositionCartesianSet.h:207
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
void DeSerializeRaw(std::istream &inputStream)
prmPositionCartesianSet(const vctDoubleFrm3 &goal, const vctDouble3 &velocity, const vctDouble3 &velocityAngular, const vctDouble3 &acceleration, const vctDouble3 &accelerationAngular, const vctBool2 &mask)
Definition: prmPositionCartesianSet.h:73