Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ControlBlock.h

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // ControlBlock.h 00005 // 00006 // Version 1.0 00007 // Date 24.04.03 (Version 1.0) 00008 // Author A. Pasetti (P&P Software), R. Totaro 00009 // 00010 // Change Record: 00011 00012 #ifndef ControlBlockH 00013 #define ControlBlockH 00014 00015 #include "../GeneralInclude/ForwardDeclarations.h" 00016 #include "../GeneralInclude/BasicTypes.h" 00017 #include "../Base/CC_RootObject.h" 00018 00105 class ControlBlock : public CC_RootObject { 00106 protected: 00110 int nInputs; 00111 00115 int nOutputs; 00116 00120 int nStates; 00121 00125 int nParameters; 00126 00133 TD_Float *x; 00134 00141 TD_Float *p; 00142 00148 virtual void setNumberOfInputs(unsigned int n) = 0; 00149 00155 virtual void setNumberOfOutputs(unsigned int n) = 0; 00156 00164 void setNumberOfStates(unsigned int n); 00165 00173 void setNumberOfParameters(unsigned int n); 00174 00184 virtual void propagateState(void) = 0; 00185 00195 virtual void updateOutput(void) = 0; 00196 00197 public: 00202 ControlBlock(void); 00203 00208 inline int getNumberOfOutputs(void) const; 00209 00214 inline int getNumberOfStates(void) const; 00215 00220 inline int getNumberOfInputs(void) const; 00221 00226 inline int getNumberOfParameters(void) const; 00227 00235 inline TD_Float getState(unsigned int i) const; 00236 00244 inline TD_Float getParameter(unsigned int i) const; 00245 00256 void setState(unsigned int i,TD_Float newValue); 00257 00265 void setParameter(unsigned int i,TD_Float newValue); 00266 00284 virtual void propagate(void); 00285 00291 virtual void reset(void); 00292 00298 virtual bool isObjectConfigured(void); 00299 }; 00300 00301 #include "ControlBlock_inl.h" 00302 00303 #endif
Copyright 2003 P&P Software GmbH - All Rights Reserved