18 #ifndef __igstkCoordinateSystemDelegator_h
19 #define __igstkCoordinateSystemDelegator_h
58 template <
class TParentPo
inter >
60 TParentPointer parent )
66 m_StateMachine.ProcessInputs();
76 this->m_CoordinateSystem->RequestSetTransformAndParent(
78 parentReferenceSystem);
87 this->m_CoordinateSystem->RequestUpdateTransformToParent(
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.
#define igstkStandardClassTraitsMacro(classname, superclassname)
Convenience macro for traits of a non-templated class.
A proxy that ensures the encapsulation of the CoordinateSystem.
void RequestUpdateTransformToParent(const Transform &transformToParent)
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.
void RequestSetTransformAndParent(const Transform &transformToParent, TParentPointer parent)
Macro with standard traits declarations.
void RequestGetTransformToParent()
Returns the transform to the parent if available.
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()