00001 #ifndef SIMPROGRESSBAR_H_ 00002 #define SIMPROGRESSBAR_H_ 00003 00004 #include "SimObject.h" 00005 00006 class SimProgressBar : public SimObject 00007 { 00008 SIMOBJECT( SimProgressBar , AdvancePhase::One ) 00009 public: 00010 SimProgressBar() : 00011 simulationTime(1) 00012 { 00013 00014 } 00015 00016 00017 SimProgressBar(const Time &simtime); 00018 virtual ~SimProgressBar(); 00019 00020 void changeSimulationTime(const Time &simtime); 00021 00022 virtual int reset( double dt ); 00023 00024 virtual int nSpikeInputPorts() const { return 0; }; 00025 virtual int nSpikeOutputPorts() const { return 0; }; 00026 virtual int nAnalogInputPorts() const { return 1; }; 00027 virtual int nAnalogOutputPorts() const { return 0; }; 00028 00029 virtual PortType outputPortType(port_t o) const 00030 { 00031 if( o==0) return analog; else return undefined; 00032 }; 00033 00034 virtual PortType inputPortType(port_t i) const 00035 { 00036 return undefined; 00037 }; 00038 00039 virtual int advance(AdvanceInfo const &); 00040 00041 virtual double getAnalogOutput(analog_port_id_t port = 0) const; 00042 00043 protected: 00044 double simulationTime; 00045 double prev_progress; 00046 }; 00047 00048 #endif /*SIMPROGRESSBAR_H_*/