feat: add string parameter

This commit is contained in:
parker
2025-08-03 22:15:23 +01:00
parent abc9419998
commit 0af1c65996
14 changed files with 189 additions and 27 deletions

View File

@@ -8,6 +8,7 @@ enzo::prm::Parameter::Parameter(Template prmTemplate)
: template_{prmTemplate}
{
floatValues_ = std::vector<bt::floatT>(prmTemplate.getSize(), prmTemplate.getDefault());
stringValues_ = std::vector<bt::String>(prmTemplate.getSize(), "default");
std::cout << "created new parameter: " << prmTemplate.getName() << "\n";
}
@@ -23,21 +24,33 @@ enzo::bt::floatT enzo::prm::Parameter::evalFloat(unsigned int index) const
return floatValues_[index];
}
enzo::bt::String enzo::prm::Parameter::evalString(unsigned int index) const
{
if(index >= stringValues_.size())
throw std::out_of_range("Cannot access index: " + std::to_string(index) + " for parameter: " + getName());
return stringValues_[index];
}
enzo::prm::Type enzo::prm::Parameter::getType() const
{
return template_.getType();
}
enzo::bt::String enzo::prm::Parameter::evalString() const
{
return stringValue_;
}
void enzo::prm::Parameter::setFloat(bt::floatT value, unsigned int index)
{
std::cout << "accessing at: " << index << "\n";
std::cout << "size: " << floatValues_.size() << "\n";
if(index >= floatValues_.size())
throw std::out_of_range("Cannot access index: " + std::to_string(index) + " for parameter: " + getName());
floatValues_[index] = value;
valueChanged();
}
void enzo::prm::Parameter::setString(bt::String value, unsigned int index)
{
if(index >= stringValues_.size())
throw std::out_of_range("Cannot access index: " + std::to_string(index) + " for parameter: " + getName());
stringValues_[index] = value;
valueChanged();
}