17 #ifndef __igstkEvents_h
18 #define __igstkEvents_h
24 #include "vtkImageData.h"
26 #include "vtkCamera.h"
30 #define igstkEventMacro( classname, superclassname ) \
31 itkEventMacro( classname, superclassname )
33 #define igstkLoadedEventMacro( name, superclass, payloadtype ) \
34 class name : public superclass \
38 typedef superclass Superclass; \
39 typedef payloadtype PayloadType; \
42 virtual const char * GetEventName() const { return #name; } \
43 virtual bool CheckEvent(const ::itk::EventObject* e) const \
44 { return dynamic_cast<const Self*>(e); } \
45 virtual ::itk::EventObject* MakeObject() const \
46 { return new Self; } \
47 name(const Self&s) :superclass(s){}; \
48 const PayloadType & Get() const \
49 { return m_Payload; } \
50 void Set( const payloadtype & _var ) \
51 { m_Payload = _var; } \
53 void operator=(const Self&); \
54 PayloadType m_Payload; \
57 namespace EventHelperType
90 #define igstkLoadedObjectEventMacro( name, superclass, payloadtype ) \
91 class name : public superclass \
95 typedef superclass Superclass; \
96 typedef payloadtype PayloadType; \
99 virtual const char * GetEventName() const { return #name; } \
100 virtual bool CheckEvent(const ::itk::EventObject* e) const \
101 { return dynamic_cast<const Self*>(e); } \
102 virtual ::itk::EventObject* MakeObject() const \
103 { return new Self; } \
104 name(const Self&s) :superclass(s){}; \
105 PayloadType* Get() const\
106 { return m_Payload.GetPointer(); } \
107 void Set( payloadtype * _var ) \
108 { m_Payload = _var; } \
110 void operator=(const Self&); \
111 PayloadType::Pointer m_Payload; \
115 #define igstkLoadedConstObjectEventMacro( name, superclass, payloadtype ) \
116 class name : public superclass \
120 typedef superclass Superclass; \
121 typedef payloadtype PayloadType; \
124 virtual const char * GetEventName() const { return #name; } \
125 virtual bool CheckEvent(const ::itk::EventObject* e) const \
126 { return dynamic_cast<const Self*>(e); } \
127 virtual ::itk::EventObject* MakeObject() const \
128 { return new Self; } \
129 name(const Self&s) :superclass(s){}; \
130 const PayloadType* Get() const\
131 { return m_Payload.GetPointer(); } \
132 void Set( const payloadtype * _var ) \
133 { m_Payload = _var; } \
135 void operator=(const Self&); \
136 PayloadType::ConstPointer m_Payload; \
140 #define igstkLoadedTemplatedObjectEventMacro( name, superclass, payloadtype ) \
141 class name : public superclass \
145 typedef superclass Superclass; \
146 typedef payloadtype PayloadType; \
149 virtual const char * GetEventName() const { return #name; } \
150 virtual bool CheckEvent(const ::itk::EventObject* e) const \
151 { return dynamic_cast<const Self*>(e); } \
152 virtual ::itk::EventObject* MakeObject() const \
153 { return new Self; } \
154 name(const Self&s) :superclass(s){}; \
155 PayloadType * Get() const\
156 { return m_Payload.GetPointer(); } \
157 void Set( payloadtype * _var ) \
158 { m_Payload = _var; } \
160 void operator=(const Self&); \
161 typename PayloadType::Pointer m_Payload; \
164 #define igstkLoadedTemplatedConstObjectEventMacro( name, superclass,\
166 class name : public superclass \
170 typedef superclass Superclass; \
171 typedef payloadtype PayloadType; \
174 virtual const char * GetEventName() const { return #name; } \
175 virtual bool CheckEvent(const ::itk::EventObject* e) const \
176 { return dynamic_cast<const Self*>(e); } \
177 virtual ::itk::EventObject* MakeObject() const \
178 { return new Self; } \
179 name(const Self&s) :superclass(s){}; \
180 const PayloadType * Get() const\
181 { return m_Payload.GetPointer(); } \
182 void Set( const payloadtype * _var ) \
183 { m_Payload = _var; } \
185 void operator=(const Self&); \
186 typename PayloadType::ConstPointer m_Payload; \
199 igstkEventMacro( TransformNotAvailableEvent, InvalidRequestErrorEvent );
200 igstkEventMacro( TransformExpiredErrorEvent, TransformNotAvailableEvent );
210 EventHelperType::IntegerBoundsType );
213 EventHelperType::ImageBoundsType );
216 EventHelperType::ImageExtentType );