/// <summary> /// Constructor /// </summary> /// <param name="initCondition">Initial condition of integration</param> /// <param name="method">Method of integration</param> public Integrator(float initCondition, IntegratorMethods method) { Method = method; MinStep = 0.001f; max = 1000.0f; min = -1000.0f; isLimited = false; initialCondition = initCondition; integralValue = initialCondition; MaxSubsteps = 300; for (int i = 0; i < previousValues.Length; i++) { previousValues[i] = initCondition; } oldTime = 0.0f; Error = 0.001f; }
public Integrator(Integrator copy) { Method = copy.Method; MinStep = copy.MinStep; max = copy.max; min = copy.min; isLimited = copy.isLimited; integralValue = copy.integralValue; initialCondition = copy.initialCondition; MaxSubsteps = copy.MaxSubsteps; for (int i = 0; i < previousValues.Length; i++) { previousValues[i] = initialCondition; } oldTime = 0.0f; Error = copy.Error; }
public Integrator() { Method = IntegratorMethods.EulerBackward; MinStep = 0.001f; max = 1000.0f; min = -1000.0f; isLimited = false; integralValue = 0.0f; initialCondition = 0.0f; MaxSubsteps = 300; for (int i = 0; i < previousValues.Length; i++) { previousValues[i] = 0.0f; } oldTime = 0.0f; Error = 0.001f; }