public static Circle3d ReadCircle3d(this MsgPackReader reader) { var circle = new Circle3d(); reader.ReadPrefix(TypePrefixes.FixMap); for (int i = 0; i < 3; i++) { var key = reader.ReadString(); switch (key) { case "center": circle.Center = reader.ReadPoint3d(); break; case "radius": circle.Radius = reader.ReadDouble(); break; case "normal": circle.Normal = reader.ReadPoint3d(); break; default: throw new InvalidOperationException(Resources.ParseError); } } return(circle); }
public static Sphere ReadSphere(this MsgPackReader reader) { var sphere = new Sphere(); reader.ReadPrefix(TypePrefixes.FixMap); for (int i = 0; i < 2; i++) { var key = reader.ReadString(); switch (key) { case "center": sphere.Center = reader.ReadPoint3d(); break; case "radius": sphere.Radius = reader.ReadDouble(); break; default: throw new InvalidOperationException(Resources.ParseError); } } return(sphere); }