cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
prmTransformationDynamic.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 
6  Author(s): Rajesh Kumar, Anton Deguet
7  Created on: 2008-03-03
8 
9  (C) Copyright 2007-2008 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 */
20 
21 
27 #ifndef _prmTransformationDynamic_h
28 #define _prmTransformationDynamic_h
29 
32 
33 // Always include last
35 
36 
46 {
49 
50  public:
52 
53  protected:
57 
58  public:
64  TransformationCommand()
65  {
66  }
67 
72  inline prmTransformationDynamic(const std::string & name):
74  TransformationCommand()
75  {
76  }
77 
84  inline prmTransformationDynamic(const std::string & name,
85  const CommandType & transformationCommand,
86  prmTransformationBasePtr reference):
88  TransformationCommand(transformationCommand)
89  {
90  this->SetReferenceFrame(reference);
91  }
92 
97 
104  inline void SetTransformationCommand(const CommandType & transformationCommand)
105  {
106  this->TransformationCommand = transformationCommand;
107  }
108 
112  inline const CommandType & GetTransformationCommand(void) const
113  {
114  return this->TransformationCommand;
115  }
117 
122  inline vctFrm3 WRTReference(void) const
123  {
124  prmPositionCartesianGet result; //identity transform by default
125  this->TransformationCommand(result);
126  return result.Position();
127  }
128 
129 }; // prmTransformationDynamic
130 
131 
133 
134 
135 #endif // _prmTransformationDynamic_h
136 
CMN_DECLARE_SERVICES_INSTANTIATION(prmTransformationDynamic)
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
Definition: mtsFunctionRead.h:37
CommandType TransformationCommand
Definition: prmTransformationDynamic.h:56
const CommandType & GetTransformationCommand(void) const
Definition: prmTransformationDynamic.h:112
prmTransformationDynamic(const std::string &name, const CommandType &transformationCommand, prmTransformationBasePtr reference)
Definition: prmTransformationDynamic.h:84
prmTransformationDynamic(const std::string &name)
Definition: prmTransformationDynamic.h:72
const vctFrm3 & Position(void) const
Definition: prmTransformationDynamic.h:45
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
vctFrm3 WRTReference(void) const
Definition: prmTransformationDynamic.h:122
Transformation base class.
Definition: prmTransformationBase.h:69
mtsFunctionRead CommandType
Definition: prmTransformationDynamic.h:51
Definition: prmTransformationManager.h:80
void SetTransformationCommand(const CommandType &transformationCommand)
Definition: prmTransformationDynamic.h:104
const int CMN_NO_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:328
bool SetReferenceFrame(const prmTransformationBasePtr &newReference)
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
Definition: prmPositionCartesianGet.h:37
prmTransformationDynamic(void)
Definition: prmTransformationDynamic.h:62