23 #include <visiontransfer/parameterset.h> 29 Parameter& ParameterSet::setOrCreateSimpleScalar(
const std::string& uid,
int value) {
33 par.setType(ParameterValue::TYPE_INT).setCurrent(value);
34 operator[](uid) = par;
36 if (it->second.isTensor() || it->second.isCommand()) {
37 throw std::runtime_error(
"setOrCreateSimpleScalar(): refusing to overwrite a Tensor or Command parameter");
39 operator[](uid).setCurrent(value);
41 return operator[](uid);
43 Parameter& ParameterSet::setOrCreateSimpleScalar(
const std::string& uid,
bool value) {
47 par.setType(ParameterValue::TYPE_BOOL).setCurrent(value);
48 operator[](uid) = par;
50 if (it->second.isTensor() || it->second.isCommand()) {
51 throw std::runtime_error(
"setOrCreateSimpleScalar(): refusing to overwrite a Tensor or Command parameter");
53 operator[](uid).setCurrent(value);
55 return operator[](uid);
57 Parameter& ParameterSet::setOrCreateSimpleScalar(
const std::string& uid,
double value) {
61 par.setType(ParameterValue::TYPE_DOUBLE).setCurrent(value);
62 operator[](uid) = par;
64 if (it->second.isTensor() || it->second.isCommand()) {
65 throw std::runtime_error(
"setOrCreateSimpleScalar(): refusing to overwrite a Tensor or Command parameter");
67 operator[](uid).setCurrent(value);
69 return operator[](uid);
71 Parameter& ParameterSet::setOrCreateSimpleScalar(
const std::string& uid,
const std::string& value) {
75 par.setType(ParameterValue::TYPE_STRING).setCurrent(value);
76 operator[](uid) = par;
78 if (it->second.isTensor() || it->second.isCommand()) {
79 throw std::runtime_error(
"setOrCreateSimpleScalar(): refusing to overwrite a Tensor or Command parameter");
81 operator[](uid).setCurrent(value);
83 return operator[](uid);