00001 00007 #ifndef __INPUTS_H__ 00008 #define __INPUTS_H__ 00009 00010 #include "vgen.h" 00011 00013 class Inputs : public ValueGen { 00014 public: 00015 virtual ~Inputs() { } 00016 00018 virtual void init()=0; 00019 00021 virtual void reset()=0; 00022 00024 virtual bool next()=0; 00025 00027 virtual void activate(bool learn=false, bool settle=true, bool activatefn=true)=0; 00028 00030 virtual void uninit()=0; 00031 00033 virtual void register_params_and_commands( void ) =0; 00034 00035 00036 /* 00037 Highly deprecated interface to a few quantities sometimes needed 00038 by other files. Only use these when absolutely necessary, since 00039 the caller will have to know how many input dimensions there are, 00040 how objects are numbered, etc. Without that knowledge, a caller must 00041 allow for the possibility that these trivial stubs are being called 00042 instead of something meaningful. 00043 */ 00045 virtual bool is_active(int, int) const { return false; } 00047 virtual double angle_of_object(int, int) const { return 0; } 00049 virtual double angle_of_object_at_location(int, int, int) const { return 0; } 00050 00055 static Inputs& global_entry(); 00056 }; 00057 00058 00059 00060 #endif