00001 #include "EditableParameter.h"
00002 #include <stdexcept>
00003
00004 EditableParameter::EditableParameter()
00005 : ConstrainedParameter(),
00006 _increment(1.)
00007 { }
00008
00009 EditableParameter::EditableParameter(const string & name,
00010 const string & description,
00011 double value,
00012 double defaultValue,
00013 double min,
00014 double max,
00015 double increment,
00016 int type,
00017 int key)
00018 : ConstrainedParameter(name,description,value,defaultValue,min,max,type,key),
00019 _increment(increment)
00020 {}
00021
00022 EditableParameter::EditableParameter(const string & name,
00023 const string & description,
00024 bool * value,
00025 bool defaultValue,
00026 int key)
00027 : ConstrainedParameter(name,description,value,defaultValue,key),
00028 _increment(1)
00029 {
00030
00031 }
00032
00033 EditableParameter::EditableParameter(const string & name,
00034 const string & description,
00035 int * value,
00036 int defaultValue,
00037 int min,
00038 int max,
00039 int increment,
00040 int key)
00041 : ConstrainedParameter(name,description,value,defaultValue,min,max,key),
00042 _increment(increment)
00043 {
00044 }
00045
00046 EditableParameter::EditableParameter(const string & name,
00047 const string & description,
00048 float*value,
00049 float defaultValue,
00050 float min,
00051 float max,
00052 float increment,
00053 int key)
00054 : ConstrainedParameter(name,description,value,defaultValue,min,max,key),
00055 _increment(increment)
00056 {}
00057
00058 EditableParameter::EditableParameter(const string & name,
00059 const string & description,
00060 double*value,
00061 double defaultValue,
00062 double min,
00063 double max,
00064 double increment,
00065 int key)
00066 : ConstrainedParameter(name,description,value,defaultValue,min,max,key),
00067 _increment(increment)
00068 {}
00069
00070
00071 EditableParameter::EditableParameter(const EditableParameter & parameter)
00072 : ConstrainedParameter(parameter),
00073 _increment(parameter._increment)
00074 {}
00075
00076 EditableParameter::~EditableParameter()
00077 {}
00078
00079
00080 ostream& operator<<(ostream& os, const EditableParameter&par)
00081 {
00082 os <<par.getName()<<"\t";
00083 switch (par.getType())
00084 {
00085 case 0: os << "(BOOL)=" << par.getBoolValue(); break;
00086 case 1: os << "(INT) =" << par.getIntValue(); break;
00087 case 2: os << "(FLT) =" << par.getFloatValue(); break;
00088 case 3: os << "(DBL) =" << par.getDoubleValue(); break;
00089 }
00090 os << "\tMIN :"<<par.getMinimum()
00091 << "\tMAX :"<<par.getMaximum()
00092 << "\tINC :"<<par.getIncrement()
00093 << "\tKey :"<<par.getKey()
00094 << endl;
00095 return os;
00096 }