18 #ifndef __igstkCoordinateSystemDelegator_h
19 #define __igstkCoordinateSystemDelegator_h
58 template <
class TParentPo
inter >
59 void RequestSetTransformAndParent(
const Transform & transformToParent,
66 m_StateMachine.ProcessInputs();
76 this->m_CoordinateSystem->RequestSetTransformAndParent(
78 parentReferenceSystem);
85 void RequestUpdateTransformToParent(
const Transform & transformToParent )
87 this->m_CoordinateSystem->RequestUpdateTransformToParent(
92 void RequestGetTransformToParent();
97 this->m_CoordinateSystem->RequestDetachFromParent();
111 template <
class TTarget>
117 m_StateMachine.ProcessInputs();
127 this->m_CoordinateSystem->RequestComputeTransformTo(
142 void PrintSelf( std::ostream& os, itk::Indent indent )
const;
145 void SetName(
const char* name );
146 void SetName(
const std::string& name );
150 void SetType(
const char* type );
151 void SetType(
const std::string& type );
166 igstkDeclareStateMacro( Idle );
169 igstkDeclareInputMacro( NullParent );
170 igstkDeclareInputMacro( NullTarget );
190 void NullParentProcessing();
193 void NullTargetProcessing();
198 typedef ::itk::ReceptorMemberCommand< Self > CoordinateSystemObserverType;
201 CoordinateSystemObserverType::Pointer m_CoordinateSystemObserver;
206 void ObserverCallback(const ::itk::EventObject & eventvar);
#define igstkFriendClassMacro(type)
Create a Macro for friend class.
const char * GetType() const
static const CoordinateSystem * GetCoordinateSystem(const T &input)
Templated method to extract the CoordinateSystem from a holder class.
Base class for all the IGSTK classes.
#define igstkPushInputMacro(inputname)
Convenience macro for pushing an input in the queue of the State Machine.
igstkStandardClassTraitsMacro(CoordinateSystemDelegator, Object) template< class TParentPointer > void RequestSetTransformAndParent(const Transform &transformToParent
Macro with standard traits declarations.
A proxy that ensures the encapsulation of the CoordinateSystem.
void RequestDetachFromParent()
Detach from its parents.
Encapsulates common logic for handling coordinate reference system calls on objects with CoordinateSy...
::itk::SmartPointer< Self > Pointer
~CoordinateSystemDelegator()
void SetName(const char *name)
Set/Get the name of the coordinate system.
void RequestComputeTransformTo(const TTarget &target)
Tries to compute the transformation from this coordinate system to another coordinate system...
igstk::CoordinateSystem CoordinateSystemType
Typedef for coordinate system.
const char * GetName() const
void PrintSelf(std::ostream &os, itk::Indent indent) const
Print out object information.
This class represents the frame of a coordinate reference system.
bool IsCoordinateSystem(const CoordinateSystemType *) const
Allows another object to verify which coordinate system an object owns.
void SetType(const char *type)
Set/Get the type of the coordinate system.
CoordinateSystemDelegator()