Reinforcement Learning Toolbox 2.0
last updated:
General
Documentation
Manual
Tutorial
Class Reference
Master Thesis
Examples
Related Papers
Downloads
Links
News
mailto:webmaster
Main Page     Class Hierarchy   Compound List   File List   Compound Members   File Members

cbaseobjects.h

Go to the documentation of this file.
00001 #ifndef C_BASEOBJECTS__H
00002 #define C_BASEOBJECTS__H
00003 
00004 class CStateModifier;
00005 class CStateProperties;
00006 class CStateCollection;
00007 class CState;
00008 class CAction;
00009 class CActionSet;
00010 class CActionData;
00011 class CActionDataSet;
00012 
00013 #include <list>
00015 
00017 class CActionObject  
00018 {
00019         protected:
00020                 CActionSet *actions;
00021                 bool ownActionSet;
00022         public:
00023                 CActionObject(CActionSet *actions, bool createNew = false);
00024                 virtual ~CActionObject();
00025 
00026                 CActionSet *getActions();
00027                 unsigned int getNumActions();
00028 
00029 };
00030 
00031 
00033 
00035 class CStateObject
00036 {
00037         protected:
00038 // The properties of the wanted statea
00039                 CStateProperties *properties;
00040         public:
00041                 CStateObject(CStateProperties *properties);
00042         
00043                 CStateProperties *getStateProperties();
00044 
00046                 bool equalsModelProperties(CStateObject *object);
00047 
00049                 unsigned int getNumContinuousStates();
00051                 unsigned int getNumDiscreteStates();
00052 };
00053 
00055 
00056 class CStateModifiersObject : public CStateObject
00057 {
00058         protected:
00059                 std::list<CStateModifier *> *modifiers;
00060         public:
00061                 CStateModifiersObject(CStateProperties *modelState);
00062                 CStateModifiersObject(CStateProperties *modelState, std::list<CStateModifier *> *modifiers);
00063         
00064                 virtual ~CStateModifiersObject();
00065 
00066 
00067                 virtual void addStateModifier(CStateModifier *modifier);
00068                 virtual void addStateModifiers(std::list<CStateModifier *> *modifiers);
00069 
00070                 virtual void removeStateModifier(CStateModifier *modfier);
00071 
00072                 std::list<CStateModifier *> *getStateModifiers();
00073 
00074 };
00075 
00076 
00077 #endif
00078