00001
00009 #ifndef __ROBJ_H__
00010 #define __ROBJ_H__
00011
00012 #include <iostream>
00013 #include <string>
00014
00015 #include "vgen.h"
00016
00025 class Retinal_Obj : public ValueGen {
00026 public:
00028 typedef double Activity;
00030 typedef double Angle;
00032 typedef double Coordinate;
00033
00035 virtual bool next() =0;
00036
00038 virtual void reset() =0;
00039
00041 virtual bool update() const =0;
00042
00044 virtual Activity activation(Coordinate x, Coordinate y) const =0;
00045
00054 virtual Angle angle() const=0;
00055
00057 virtual string stringrep() const =0;
00058
00067 virtual ostream& put(ostream& s) const {
00068 return s << this->stringrep();
00069 }
00070 };
00071
00072
00074 inline ostream& operator<<(ostream& s, const Retinal_Obj& r) { return r.put(s); }
00075
00076
00077 #endif