00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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