void IStateDoubleVariables.Set(double[] input, int offset, int length) { Array.Copy(input, offset, relativePosition, 0, 3); Array.Copy(input, 3 + offset, relativeVelocity, 0, 3); Array.Copy(input, 6 + offset, relativeQuaternion, 0, 4); Array.Copy(input, 10 + offset, omega, 0, 3); Copy6DPosition(); Own.SetMatrix(); }
void IStarted.Start(double time) { Array.Copy(initialConditions, relativePosition, 3); Array.Copy(initialConditions, 3, relativeVelocity, 0, 3); Array.Copy(initialConditions, 6, relativeQuaternion, 0, 4); Array.Copy(initialConditions, 10, omega, 0, 3); Copy6DPosition(); Own.SetMatrix(); Update(); SetAliases(); }