static public double getAngle(string directionJson) { DirectionAndAngle directionAndAngle = JsonConvert.DeserializeObject <DirectionAndAngle>(directionJson); string angleStr = directionAndAngle.Angle; double.TryParse(angleStr, out double angle); return(angle); }
private string GetDirectionStrFromJson(string direction) { DirectionAndAngle directionAndAngle = JsonConvert.DeserializeObject <DirectionAndAngle>(direction); if (directionAndAngle != null) { double.TryParse(directionAndAngle.Angle, out double angle); angle = (180 / Math.PI) * angle; angle = Math.Round(angle, 2); return(directionAndAngle.Direction + "/" + angle.ToString()); } else { return(null); } }
internal static string directionToString(XYZ direction, double angle) { if (direction != null) { string x = Math.Round(direction.X, 6).ToString(); string y = Math.Round(direction.Y, 6).ToString(); string z = Math.Round(direction.Z, 6).ToString(); DirectionAndAngle directionAndAngle = new DirectionAndAngle(); directionAndAngle.Direction = x + "/" + y + "/" + z; directionAndAngle.Angle = angle.ToString(); return(JsonConvert.SerializeObject(directionAndAngle)); } else { return(null); } }
static public XYZ getDirection(string directionJson) { DirectionAndAngle directionAndAngle = JsonConvert.DeserializeObject <DirectionAndAngle>(directionJson); string directionStr = directionAndAngle.Direction; //string[] numbers = Regex.Split(directionStr, @"\D+"); string[] numbers = directionStr.Split(new char[] { '/' }); if (numbers.Length == 3) { double.TryParse(numbers[0], out double x); double.TryParse(numbers[1], out double y); double.TryParse(numbers[2], out double z); XYZ direction = new XYZ(x, y, z); return(direction); } else { return(null); } }