Ejemplo n.º 1
0
void ComponentFactory::processParameters(StdStringMap &parameters, 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)));
    }
}
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
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;
}