/// <inheritdoc /> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName); if (!suppressDefaults || !IsDefaultSolverMethod) { rootElem.Add(new XAttribute("solverMethod", SolverMethod.ToString())); } if (!suppressDefaults || !IsDefaultSolverCompSteps) { rootElem.Add(new XAttribute("solverCompSteps", SolverCompSteps.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultStimuliDuration) { rootElem.Add(new XAttribute("stimuliDuration", StimuliDuration.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultTimeScale) { rootElem.Add(TimeScale.GetXml("timeScale", suppressDefaults)); } if (!suppressDefaults || !IsDefaultResistance) { rootElem.Add(Resistance.GetXml("resistance", suppressDefaults)); } if (!suppressDefaults || !IsDefaultRestV) { rootElem.Add(RestV.GetXml("restV", suppressDefaults)); } if (!suppressDefaults || !IsDefaultResetV) { rootElem.Add(ResetV.GetXml("resetV", suppressDefaults)); } if (!suppressDefaults || !IsDefaultRheobaseV) { rootElem.Add(RheobaseV.GetXml("rheobaseV", suppressDefaults)); } if (!suppressDefaults || !IsDefaultFiringThresholdV) { rootElem.Add(FiringThresholdV.GetXml("firingThresholdV", suppressDefaults)); } if (!suppressDefaults || !IsDefaultSharpnessDeltaT) { rootElem.Add(SharpnessDeltaT.GetXml("sharpnessDeltaT", suppressDefaults)); } if (!suppressDefaults || !IsDefaultAdaptationVoltageCoupling) { rootElem.Add(AdaptationVoltageCoupling.GetXml("adaptationVoltageCoupling", suppressDefaults)); } if (!suppressDefaults || !IsDefaultAdaptationTimeConstant) { rootElem.Add(AdaptationTimeConstant.GetXml("adaptationTimeConstant", suppressDefaults)); } if (!suppressDefaults || !IsDefaultAdaptationSpikeTriggeredIncrement) { rootElem.Add(AdaptationSpikeTriggeredIncrement.GetXml("adaptationSpikeTriggeredIncrement", suppressDefaults)); } Validate(rootElem, XsdTypeName); return(rootElem); }
//Methods /// <inheritdoc /> protected override void Check() { if (SolverCompSteps < 1) { throw new ArgumentException($"Invalid SolverCompSteps {SolverCompSteps.ToString(CultureInfo.InvariantCulture)}. SolverCompSteps must be GE to 1.", "SolverCompSteps"); } if (StimuliDuration <= 0) { throw new ArgumentException($"Invalid StimuliDuration {StimuliDuration.ToString(CultureInfo.InvariantCulture)}. StimuliDuration must be GT 0.", "StimuliDuration"); } return; }
/// <summary> /// Generates xml element containing the settings. /// </summary> /// <param name="rootElemName">Name to be used as a name of the root element.</param> /// <param name="suppressDefaults">Specifies whether to ommit optional nodes having set default values</param> /// <returns>XElement containing the settings</returns> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName); if (!suppressDefaults || !IsDefaultRefractoryPeriods) { rootElem.Add(new XAttribute("refractoryPeriods", RefractoryPeriods.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultSolverMethod) { rootElem.Add(new XAttribute("solverMethod", SolverMethod.ToString())); } if (!suppressDefaults || !IsDefaultSolverCompSteps) { rootElem.Add(new XAttribute("solverCompSteps", SolverCompSteps.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultStimuliDuration) { rootElem.Add(new XAttribute("stimuliDuration", StimuliDuration.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultRecoveryTimeScale) { rootElem.Add(RecoveryTimeScale.GetXml("recoveryTimeScale", suppressDefaults)); } if (!suppressDefaults || !IsDefaultRecoverySensitivity) { rootElem.Add(RecoverySensitivity.GetXml("recoverySensitivity", suppressDefaults)); } if (!suppressDefaults || !IsDefaultRecoveryReset) { rootElem.Add(RecoveryReset.GetXml("recoveryReset", suppressDefaults)); } if (!suppressDefaults || !IsDefaultRestV) { rootElem.Add(RestV.GetXml("restV", suppressDefaults)); } if (!suppressDefaults || !IsDefaultResetV) { rootElem.Add(ResetV.GetXml("resetV", suppressDefaults)); } if (!suppressDefaults || !IsDefaultFiringThresholdV) { rootElem.Add(FiringThresholdV.GetXml("firingThresholdV", suppressDefaults)); } Validate(rootElem, XsdTypeName); return(rootElem); }
/// <inheritdoc /> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName); if (!suppressDefaults || !IsDefaultRefractoryPeriods) { rootElem.Add(new XAttribute("refractoryPeriods", RefractoryPeriods.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultSolverMethod) { rootElem.Add(new XAttribute("solverMethod", SolverMethod.ToString())); } if (!suppressDefaults || !IsDefaultSolverCompSteps) { rootElem.Add(new XAttribute("solverCompSteps", SolverCompSteps.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultStimuliDuration) { rootElem.Add(new XAttribute("stimuliDuration", StimuliDuration.ToString(CultureInfo.InvariantCulture))); } Validate(rootElem, XsdTypeName); return(rootElem); }