IGSTK
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
igstk::CoordinateSystemDelegator Class Reference

Encapsulates common logic for handling coordinate reference system calls on objects with CoordinateSystems. More...

#include <igstkCoordinateSystemDelegator.h>

Inheritance diagram for igstk::CoordinateSystemDelegator:
Inheritance graph
[legend]
Collaboration diagram for igstk::CoordinateSystemDelegator:
Collaboration graph
[legend]

Public Types

typedef igstk::CoordinateSystem CoordinateSystemType
 Typedef for coordinate system. More...
 
- Public Types inherited from igstk::Object
typedef Object Self
 General Typedefs. More...
 
typedef ::itk::Object Superclass
 
typedef ::itk::SmartPointer< SelfPointer
 
typedef ::itk::SmartPointer
< const Self
ConstPointer
 
typedef igstk::Logger LoggerType
 

Public Member Functions

 igstkStandardClassTraitsMacro (CoordinateSystemDelegator, Object) template< class TParentPointer > void RequestSetTransformAndParent(const Transform &transformToParent
 Macro with standard traits declarations. More...
 
void RequestDetachFromParent ()
 Detach from its parents. More...
 
template<class TTarget >
void RequestComputeTransformTo (const TTarget &target)
 Tries to compute the transformation from this coordinate system to another coordinate system. More...
 
bool IsCoordinateSystem (const CoordinateSystemType *) const
 Allows another object to verify which coordinate system an object owns. More...
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 Print out object information. More...
 
void SetName (const char *name)
 Set/Get the name of the coordinate system. More...
 
void SetName (const std::string &name)
 
const char * GetName () const
 
void SetType (const char *type)
 Set/Get the type of the coordinate system. More...
 
void SetType (const std::string &type)
 
const char * GetType () const
 
- Public Member Functions inherited from igstk::Object
virtual const char * GetNameOfClass () const
 
void SetLogger (LoggerType *logger)
 Connect the Logger for this class. More...
 
void RemoveObserver (unsigned long tag) const
 

Public Attributes

TParentPointer parent
 

Protected Member Functions

 CoordinateSystemDelegator ()
 
 ~CoordinateSystemDelegator ()
 
- Protected Member Functions inherited from igstk::Object
LoggerTypeGetLogger () const
 
 Object (void)
 Constructor is protected in order to enforce the use of the New() operator. More...
 
virtual ~Object (void)
 
void RegisterObservedObject (const ::igstk::Object *object, unsigned long tag)
 Register observed objects in an internal array so that they can be disconnected upon destruction. More...
 
void RemoveFromObservedObjects ()
 Remove observers that this object may have connected to other objects. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from igstk::Object
static Pointer New (void)
 

Detailed Description

Encapsulates common logic for handling coordinate reference system calls on objects with CoordinateSystems.

Most of the functionality is delegated to CoordinateSystem. This class is intended to be used inside classes like SpatialObject and View. This class delegates much of the core coordinate system connectivity and transformation work to the CoordinateSystem class.

The following diagram illustrates the state machine of the CoordinateSystemDelegator class

igstkCoordinateSystemDelegator.png

"CoordinateSystemDelegator State Machine Diagram"

"CoordinateSystemDelegator State Machine Diagram"

Definition at line 48 of file igstkCoordinateSystemDelegator.h.

Member Typedef Documentation

Typedef for coordinate system.

Definition at line 132 of file igstkCoordinateSystemDelegator.h.

Constructor & Destructor Documentation

igstk::CoordinateSystemDelegator::CoordinateSystemDelegator ( )
protected
igstk::CoordinateSystemDelegator::~CoordinateSystemDelegator ( )
protected

Member Function Documentation

igstk::CoordinateSystemDelegator::igstkStandardClassTraitsMacro ( CoordinateSystemDelegator  ,
Object   
) const

Macro with standard traits declarations.

This method implements the construction of a coordinate system graph by defining the parent of this object and the Transforms defining their relative position and orientation

void igstk::CoordinateSystemDelegator::RequestDetachFromParent ( )
inline

Detach from its parents.

Definition at line 95 of file igstkCoordinateSystemDelegator.h.

template<class TTarget >
void igstk::CoordinateSystemDelegator::RequestComputeTransformTo ( const TTarget &  target)
inline

Tries to compute the transformation from this coordinate system to another coordinate system.

This method is templated on the input and should allow computation of a transform to another object that internally has a CoordinateSystem.

Three types of events may be generated by this call: CoordinateSystemTransformToEvent CoordinateSystemTransformToNullTargetEvent CoordinateSystemTransformToDisconnectedEvent

First get the coordinate system from the target object.

Handle the response with event observers

Definition at line 112 of file igstkCoordinateSystemDelegator.h.

bool igstk::CoordinateSystemDelegator::IsCoordinateSystem ( const CoordinateSystemType ) const

Allows another object to verify which coordinate system an object owns.

This does not check that the coordinate systems are equivalent, but whether the instances of the coordinate systems are identical.

void igstk::CoordinateSystemDelegator::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
virtual

Print out object information.

Reimplemented from igstk::Object.

void igstk::CoordinateSystemDelegator::SetName ( const char *  name)

Set/Get the name of the coordinate system.

void igstk::CoordinateSystemDelegator::SetName ( const std::string &  name)
const char* igstk::CoordinateSystemDelegator::GetName ( ) const
void igstk::CoordinateSystemDelegator::SetType ( const char *  type)

Set/Get the type of the coordinate system.

void igstk::CoordinateSystemDelegator::SetType ( const std::string &  type)
const char* igstk::CoordinateSystemDelegator::GetType ( ) const

Member Data Documentation

TParentPointer igstk::CoordinateSystemDelegator::parent

Definition at line 61 of file igstkCoordinateSystemDelegator.h.


The documentation for this class was generated from the following file: