27 namespace learningmachine {
43 for(
unsigned int i = 0; i < other.
scalers.size(); i++) {
49 if(
this == &other)
return *
this;
51 this->IFixedSizeTransformer::operator=(other);
54 for(
unsigned int i = 0; i < other.
scalers.size(); i++) {
62 if (index >= 0 && index <
int(this->
scalers.size())) {
65 throw std::runtime_error(
"Index for scaler out of bounds!");
75 for(std::vector<IScaler*>::iterator it = this->
scalers.begin(); it != this->scalers.end(); it++) {
84 if(index >= 0 && index <
int(this->
scalers.size())) {
89 throw std::runtime_error(
"Index for scaler out of bounds!");
95 for(
unsigned int i = 0; i < this->
scalers.size(); i++) {
102 assert(input.size() ==
int(this->scalers.size()));
103 assert(output.size() ==
int(this->scalers.size()));
105 for(
size_t i = 0; i < output.size(); i++) {
130 std::ostringstream buffer;
132 buffer <<
"Scalers:" << std::endl;
133 for(
unsigned int i = 0; i < this->
scalers.size(); i++) {
134 buffer <<
" [" << (i + 1) <<
"] ";
135 buffer << this->
scalers[i]->getInfo() << std::endl;
141 std::ostringstream buffer;
143 buffer <<
" type idx|all id Scaler type" << std::endl;
144 buffer <<
" config idx|all key v Set scaler configuration option" << std::endl;
166 this->
setAt(i, bot.pop().asString().c_str());
175 if(config.find(
"type").isList()) {
176 yarp::os::Bottle* scaleList = config.find(
"type").asList();
177 for(
int i = 0; i < scaleList->size(); i++) {
178 if(scaleList->get(i).isString()) {
179 this->
setAt(i, scaleList->get(i).asString().c_str());
187 if(!config.findGroup(
"type").isNull()) {
189 yarp::os::Bottle list = config.findGroup(
"type").tail();
190 if(list.get(0).isInt32() && list.get(1).isString()) {
192 this->
setAt(list.get(0).asInt32() - 1, list.get(1).asString().c_str());
194 }
else if(list.get(0).asString() ==
"all" && list.get(1).isString()) {
195 this->
setAll(list.get(1).asString().c_str());
201 if(!config.findGroup(
"config").isNull()) {
202 yarp::os::Bottle property;
203 yarp::os::Bottle list = config.findGroup(
"config").tail();
204 property.addList() = list.tail();
205 if(list.get(0).isInt32()) {
207 int i = list.get(0).asInt32() - 1;
209 }
else if(list.get(0).asString() ==
"all") {
211 for(
unsigned int i = 0; i < this->
scalers.size(); i++) {
static FactoryT< K, T > & instance()
An instance retrieval method that follows the Singleton pattern.
The IScaler is a linear scaler based scaler.
virtual std::string toString()
Asks the scaler to return a string serialization.
std::string getName() const
Retrieve the name of this scaler.
virtual double transform(double val)
Transforms a single sample value according to the state of the scaler.
virtual bool fromString(const std::string &str)
Asks the scaler to initialize from a string serialization.
virtual bool configure(yarp::os::Searchable &config)
This file contains the definition of unique IDs for the body parts and the skin parts of the robot.