C:/cmcintos/defOrgs/source/sensory/abc/Sensor.h

00001 #if defined (_MSC_VER) && (_MSC_VER >= 1000)
00002 #pragma once
00003 #endif
00004 #ifndef _INC_SENSOR_422B62DD00AB_INCLUDED
00005 #define _INC_SENSOR_422B62DD00AB_INCLUDED
00006 
00007 #include "itkSmartPointer.h"
00008 #include <itkLightObject.h> 
00009 #include "itkObjectFactory.h"
00010 
00011 namespace mial
00012 {
00014 
00025         class Sensor:public itk::LightObject
00026     {
00027     public:
00028                 //Smartpointers
00029                 typedef Sensor Self;
00030                 typedef itk::SmartPointer<Self>  Pointer;
00031                 typedef itk::SmartPointer<const Self>  ConstPointer;
00032                 //typedef itk::WeakPointer<const Self>  ConstWeakPointer;
00033                 //itkNewMacro(Self);
00034 
00036 
00039                 struct sensorIn:public itk::LightObject{
00040             //Define all common sensory outputs here
00041                         typedef sensorIn Self;
00042                         typedef itk::SmartPointer<Self>  Pointer;
00043                         itkNewMacro(Self);
00044                         
00045                         sensorIn(const sensorIn &){};
00046 
00047                 protected:
00048                         sensorIn(){};
00049         };
00051 
00054                 struct sensorOut:public itk::LightObject{
00055             //Define all common sensory outputs here
00056                         typedef sensorOut Self;
00057                         typedef itk::SmartPointer<Self>  Pointer;
00058                         typedef itk::SmartPointer<const Self>  ConstPointer;
00059                         //typedef itk::WeakPointer<const Self>  ConstWeakPointer;
00060                         itkNewMacro(Self);
00061                 protected:
00062                         sensorOut(){};
00063         };
00064 
00066                 virtual void run(sensorIn* const i) =0;
00067 
00069                 virtual sensorOut::Pointer getOutput(){ return sensorOutput;};
00070     protected:
00071                 sensorOut::Pointer sensorOutput;
00072                 Sensor(){};
00073 
00074     };
00075 } // end namespace mial
00076 #include "Sensor.cxx"
00077 #endif /* _INC_SENSOR_422B62DD00AB_INCLUDED */

Generated on Wed Jul 19 13:05:18 2006 for IDO by  doxygen 1.4.7