#include <configurable.h>
Inherited by AbstractController, AbstractModel, AbstractRobot, and OdeConfig.
Inheritance diagram for Configurable:
Public Types | |
typedef std::string | paramkey |
typedef double | paramval |
typedef std::list< std::pair< paramkey, paramval > > | paramlist |
Public Member Functions | |
Configurable () | |
Configurable (const std::string &name, const std::string &revision) | |
intialise with name and revision (use "$ID$") | |
virtual | ~Configurable () |
int | getId () const |
return the id of the configurable objects, which is created by random on initialisation | |
virtual paramkey | getName () const |
return the name of the object | |
virtual paramkey | getRevision () const |
returns the revision of the object | |
virtual void | setName (const paramkey &name) |
stes the name of the object | |
virtual void | getRevision (const paramkey &revision) |
sets the revision Hint: { return "$ID$"; } | |
virtual paramval | getParam (const paramkey &key) const |
returns the value of the requested parameter or 0 (+ error message to stderr) if unknown. | |
virtual bool | setParam (const paramkey &key, paramval val) |
sets the value of the given parameter or does nothing if unknown. | |
virtual paramlist | getParamList () const |
The list of all parameters with there value as allocated lists. | |
bool | storeCfg (const char *filenamestem) |
stores the key values paires into the file : filenamestem.cfg | |
bool | restoreCfg (const char *filenamestem) |
restores the key values paires from the file : filenamestem.cfg | |
void | print (FILE *f, const char *prefix) const |
void | parse (FILE *f) |
Static Public Member Functions | |
void | insertCVSInfo (paramkey &str, const char *file, const char *revision) |
This is a utility function for inserting the filename and the revision number at the beginning of the given string buffer str and terminates it. | |
Private Attributes | |
int | id |
paramkey | name |
paramkey | revision |
Sort of Hashmap interface. Parameters are double values
The Configurator is a (planned) external tool that can be used for changing the values of configurable objects.
Protocoll for Configurator:
To Configurator (BNF notation): Conf := <Comp>* Comp := <CompName> <Pair>* CompName := [<string>][<int>]<newline> Pair := <alphanum>=<double><newline>
Example
[Component name which can contain spaces and digits and .,- ][ID1] key1 = value1 key2 = value2 . . [Other Component name which can contain spaces and digits and .,- ][ID2] key3 = value3
Answer: (from Communicator to Simulation environment)
1. On change of a parameter:
[ID] key=newvalue
key=newvalue
2. Request of the description as defined above.
#Something I don\'t care
|
|
|
|
|
|
|
|
|
intialise with name and revision (use "$ID$")
|
|
|
|
return the id of the configurable objects, which is created by random on initialisation
|
|
return the name of the object
Reimplemented in DInvert3ChannelController, Elman, InvertNChannelController, MultiLayerFFNN, OneLayerFFNN, ProActive, ProActive2, OdeConfig, DemoController, MultiController, and SimpleController.
|
|
returns the value of the requested parameter or 0 (+ error message to stderr) if unknown.
Reimplemented in DerController, FFNNController, InvertController, InvertMotorBigModel, InvertMotorController, MultiLayerFFNN, ProActive, ProActive2, SineController, OdeConfig, Arm2Segm, DefaultCaterPillar, DefaultWheelie, HurlingSnake, MuscledArm, Schlange, SliderWheelie, Uwo, DemoController, MultiController, SimpleController, and Hand.
|
|
The list of all parameters with there value as allocated lists.
Reimplemented in DerController, FFNNController, InvertController, InvertMotorBigModel, InvertMotorController, MultiLayerFFNN, OneLayerFFNN, ProActive, ProActive2, SineController, OdeConfig, Arm2Segm, DefaultCaterPillar, DefaultWheelie, HurlingSnake, MuscledArm, Schlange, SliderWheelie, Uwo, DemoController, MultiController, SimpleController, and Hand.
|
|
sets the revision Hint: { return "$ID$"; }
|
|
returns the revision of the object
|
|
This is a utility function for inserting the filename and the revision number at the beginning of the given string buffer str and terminates it.
|
|
|
|
|
|
restores the key values paires from the file : filenamestem.cfg
|
|
stes the name of the object
|
|
sets the value of the given parameter or does nothing if unknown.
Reimplemented in DerController, FFNNController, InvertController, InvertMotorBigModel, InvertMotorController, MultiLayerFFNN, ProActive, ProActive2, SineController, OdeConfig, Arm2Segm, CaterPillar, DefaultCaterPillar, DefaultWheelie, HurlingSnake, MuscledArm, Schlange, SchlangeServo, SchlangeServo2, SliderWheelie, Uwo, Wheelie, DemoController, MultiController, SimpleController, and Hand.
|
|
stores the key values paires into the file : filenamestem.cfg
|
|
|
|
Reimplemented in DInvert3ChannelController, InvertNChannelController, SineController, OdeConfig, Arm2Segm, DemoController, and SimpleController.
|
|
|