JsonTextWriterBounded.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Newtonsoft.Json;
  2. using System.IO;
  3. namespace Max2Babylon
  4. {
  5. class JsonTextWriterBounded : JsonTextWriter
  6. {
  7. public JsonTextWriterBounded(TextWriter textWriter)
  8. : base(textWriter)
  9. {
  10. }
  11. public override void WriteValue(float value)
  12. {
  13. if (float.IsNegativeInfinity(value))
  14. {
  15. value = float.MinValue;
  16. }
  17. else if (float.IsPositiveInfinity(value))
  18. {
  19. value = float.MaxValue;
  20. }
  21. base.WriteValue(value);
  22. }
  23. public override void WriteValue(float? value)
  24. {
  25. if (value.HasValue)
  26. {
  27. if (float.IsNegativeInfinity(value.Value))
  28. {
  29. value = float.MinValue;
  30. }
  31. else if (float.IsPositiveInfinity(value.Value))
  32. {
  33. value = float.MaxValue;
  34. }
  35. }
  36. base.WriteValue(value);
  37. }
  38. }
  39. }