public Quaternion GetRotation(ReferenceFrame reference) { if (!rotStream.ContainsKey(reference)) { var stream = new TimedStream <Tuple <double, double, double, double> >(connection.AddStream(() => vessel.Flight(reference).Rotation)); rotStream.Add(reference, stream); Log("StreamAdded : " + vessel.id + " + " + reference.id + "rot"); } return(rotStream[reference].Get().ToQuat()); }
public Vector3 GetPosition(ReferenceFrame reference) { if (!posStream.ContainsKey(reference)) { var stream = new TimedStream <Tuple <double, double, double> >(connection.AddStream(() => vessel.Position(reference))); posStream.Add(reference, stream); Log("StreamAdded : " + vessel.id + " + " + reference.id + "pos"); } return(posStream[reference].Get().ToVec()); }
public Vector3 GetAngularVelocity(ReferenceFrame reference) { if (!avelStream.ContainsKey(reference)) { var stream = new TimedStream <Tuple <double, double, double> >(connection.AddStream(() => vessel.AngularVelocity(reference))); avelStream.Add(reference, stream); Log("StreamAdded : " + vessel.id + " + " + reference.id + "avel"); } return(avelStream[reference].Get().ToVec()); }
public float GetMass() { var key = "mass"; if (!otherStream1f.ContainsKey(key)) { var stream = new TimedStream <float>(connection.AddStream(() => vessel.Mass)); otherStream1f.Add(key, stream); } return(otherStream1f[key].Get()); }
public float GetSurfaceAlt() { var key = "surfaceAlt"; if (!otherStream1.ContainsKey(key)) { var stream = new TimedStream <double>(connection.AddStream(() => vessel.Flight(vessel.ReferenceFrame).SurfaceAltitude)); otherStream1.Add(key, stream); } return((float)otherStream1[key].Get()); }
public Vector3 GetInteria() { var key = "interia"; if (!otherStream3.ContainsKey(key)) { var stream = new TimedStream <Tuple <double, double, double> >(connection.AddStream(() => vessel.MomentOfInertia)); otherStream3.Add(key, stream); } return(otherStream3[key].Get().ToVec()); }
public Vector3[] GetSurfaceBoundingBox() { var key = "surfaceBoundingBox"; if (!otherStream3_3.ContainsKey(key)) { var stream = new TimedStream <Tuple <Tuple <double, double, double>, Tuple <double, double, double> > >(connection.AddStream(() => vessel.BoundingBox(vessel.SurfaceReferenceFrame))); otherStream3_3.Add(key, stream); } return(otherStream3_3[key].Get().ToVec()); }