public static SystemConfiguration Convert(ISystemConfiguration sysConfig)
        {
            var hc = sysConfig as IHyperCube <double>;

            if (hc == null)
            {
                throw new NotSupportedException("Can only represent system configurations that are hypercubes, as yet");
            }
            var varNames = hc.GetVariableNames();
            var result   = new HyperCube();

            result.Name = hc.GetConfigurationDescription();
            // TODO
            //result.Tags.Tags.Add(new Tag() { Name = "", Value = "" });
            result.Variables = new List <VariableSpecification>();
            foreach (var varName in varNames)
            {
                result.Variables.Add(new VariableSpecification
                {
                    Name    = varName,
                    Value   = hc.GetValue(varName),
                    Minimum = hc.GetMinValue(varName),
                    Maximum = hc.GetMaxValue(varName)
                });
            }
            return(result);
        }
 public static SystemConfiguration Convert(ISystemConfiguration sysConfig)
 {
     var hc = sysConfig as IHyperCube<double>;
     if (hc == null)
         throw new NotSupportedException("Can only represent system configurations that are hypercubes, as yet");
     var varNames = hc.GetVariableNames();
     var result = new HyperCube();
     result.Name = hc.GetConfigurationDescription();
     // TODO
     //result.Tags.Tags.Add(new Tag() { Name = "", Value = "" });
     result.Variables = new List<VariableSpecification>();
     foreach (var varName in varNames)
     {
         result.Variables.Add(new VariableSpecification
         {
             Name = varName,
             Value = hc.GetValue(varName),
             Minimum = hc.GetMinValue(varName),
             Maximum = hc.GetMaxValue(varName)
         });
     }
     return result;
 }