public IDiff CreateDiff(Change change) { return(new PointDiff() { Operation = change.Operation, Index = change.Index, Value = CoordinateDelta.Create(GetCoordinate(change.PreviousValue), GetCoordinate(change.NewValue)) }); }
private static void WriteCoordinate(CoordinateDelta coordinate, BinaryWriter writer, bool hasZ) { writer.Write(coordinate.X ?? double.NaN); writer.Write(coordinate.Y ?? double.NaN); if (hasZ) { writer.Write(coordinate.Z ?? double.NaN); } }