18 #ifndef __itkEventObject_h
19 #define __itkEventObject_h
76 virtual void Print(std::ostream & os)
const;
79 virtual const char * GetEventName(
void)
const = 0;
82 virtual bool CheckEvent(
const EventObject *)
const = 0;
89 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
91 virtual void PrintHeader(std::ostream & os,
Indent indent)
const;
93 virtual void PrintTrailer(std::ostream & os,
Indent indent)
const;
109 #define ITKEvent_EXPORT ITKCommon_EXPORT
114 #define itkEventMacro(classname, super) \
120 #define itkEventMacro(classname, super) \
121 class ITKEvent_EXPORT classname:public super \
124 typedef classname Self; \
125 typedef super Superclass; \
127 virtual ~classname() {} \
128 virtual const char *GetEventName() const { return #classname; } \
129 virtual bool CheckEvent(const::itk::EventObject * e) const \
130 { return ( dynamic_cast< const Self * >( e ) != NULL ); } \
131 virtual::itk::EventObject *MakeObject() const \
132 { return new Self; } \
133 classname(const Self &s):super(s){}; \
135 void operator=(const Self &); \
164 #undef ITKEvent_EXPORT
165 #define ITKEvent_EXPORT ITK_ABI_EXPORT
#define itkEventMacro(classname, super)
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
static const double e
The base of the natural logarithm or Euler's number
EventObject * EventFactoryFunction()
Abstraction of the Events used to communicating among filters and with GUIs.
EventObject(const EventObject &)
Control indentation during Print() invocation.