void ComponentFactory::processParameters(StdStringMap ¶meters, ComponentRegistryPtr reg, ParameterValueMap &values) { const ParameterInfoMap &infoMap = info.getParameters(); for (ParameterInfoMap::const_iterator iter = infoMap.begin(); iter != infoMap.end(); iter++) { const std::string &name = (*iter).first; if (parameters.find(name) == parameters.end()) { const ParameterInfo &info = (*iter).second; if (info.isRequired()) { if (info.hasDefaultValue()) { parameters[name] = info.getDefaultValue(); } else { throw MissingAttributeException(name); } } else { parameters[name] = ""; } } } for (StdStringMap::const_iterator param = parameters.begin(); param != parameters.end(); param++) { const std::string &name = (*param).first; if ((infoMap.find(name) == infoMap.end()) && !shouldIgnoreParameter(name) && !info.shouldIgnoreParameter(name)) { throw UnknownAttributeException(name); } values.insert(std::make_pair(name, ParameterValue((*param).second, reg))); } }
void setParameter (int index, float newValue) { if (plugin != nullptr && isPositiveAndBelow (index, parameters.size())) { const ScopedLock sl (lock); ParameterValue& p = parameterValues[index]; if (p.unscaled != newValue) p = ParameterValue (getNewParamScaled (plugin->PortRangeHints [parameters[index]], newValue), newValue); } }
std::unordered_map<std::string, ParameterValue> ConvFitModel::createDefaultParameters(std::size_t index) const { std::unordered_map<std::string, ParameterValue> defaultValues; defaultValues["PeakCentre"] = ParameterValue(0.0); defaultValues["Centre"] = ParameterValue(0.0); // Reset all parameters to default of 1 defaultValues["Amplitude"] = ParameterValue(1.0); defaultValues["beta"] = ParameterValue(1.0); defaultValues["Decay"] = ParameterValue(1.0); defaultValues["Diffusion"] = ParameterValue(1.0); defaultValues["Height"] = ParameterValue(1.0); defaultValues["Intensity"] = ParameterValue(1.0); defaultValues["Radius"] = ParameterValue(1.0); defaultValues["Tau"] = ParameterValue(1.0); auto resolution = getInstrumentResolution(index); if (resolution) defaultValues["FWHM"] = ParameterValue(*resolution); return defaultValues; }