MathFunctions.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <ScriptCanvas/Data/NumericData.h>
  10. namespace ScriptCanvas
  11. {
  12. namespace MathFunctions
  13. {
  14. Data::NumberType MultiplyAndAdd(Data::NumberType multiplicand, Data::NumberType multiplier, Data::NumberType addend);
  15. Data::NumberType StringToNumber(const Data::StringType& stringValue);
  16. } // namespace MathFunctions
  17. namespace MathRandoms
  18. {
  19. Data::ColorType RandomColor(Data::ColorType minValue, Data::ColorType maxValue);
  20. Data::ColorType RandomGrayscale(Data::NumberType minValue, Data::NumberType maxValue);
  21. Data::NumberType RandomInteger(Data::NumberType minValue, Data::NumberType maxValue);
  22. Data::NumberType RandomNumber(Data::NumberType minValue, Data::NumberType maxValue);
  23. Data::Vector3Type RandomPointInBox(Data::Vector3Type dimensions);
  24. Data::Vector3Type RandomPointOnCircle(Data::NumberType radius);
  25. Data::Vector3Type RandomPointInCone(Data::NumberType radius, Data::NumberType angleInDegrees);
  26. Data::Vector3Type RandomPointInCylinder(Data::NumberType radius, Data::NumberType height);
  27. Data::Vector3Type RandomPointInCircle(Data::NumberType radius);
  28. Data::Vector3Type RandomPointInEllipsoid(Data::Vector3Type dimensions);
  29. Data::Vector3Type RandomPointInSphere(Data::NumberType radius);
  30. Data::Vector3Type RandomPointInSquare(Data::Vector2Type dimensions);
  31. Data::Vector3Type RandomPointOnSphere(Data::NumberType radius);
  32. Data::QuaternionType RandomQuaternion(Data::NumberType minValue, Data::NumberType maxValue);
  33. Data::Vector2Type RandomUnitVector2();
  34. Data::Vector3Type RandomUnitVector3();
  35. Data::Vector2Type RandomVector2(Data::Vector2Type minValue, Data::Vector2Type maxValue);
  36. Data::Vector3Type RandomVector3(Data::Vector3Type minValue, Data::Vector3Type maxValue);
  37. Data::Vector4Type RandomVector4(Data::Vector4Type minValue, Data::Vector4Type maxValue);
  38. Data::Vector3Type RandomPointInArc(
  39. Data::Vector3Type origin,
  40. Data::Vector3Type direction,
  41. Data::Vector3Type normal,
  42. Data::NumberType length,
  43. Data::NumberType angle);
  44. Data::Vector3Type RandomPointInWedge(
  45. Data::Vector3Type origin,
  46. Data::Vector3Type direction,
  47. Data::Vector3Type normal,
  48. Data::NumberType length,
  49. Data::NumberType height,
  50. Data::NumberType angle);
  51. } // namespace MathRandoms
  52. } // namespace ScriptCanvas
  53. #include <Include/ScriptCanvas/Libraries/Math/MathFunctions.generated.h>