vector4.h - エンジンの C API リファレンス

vector4.h
  1. #pragma once
  2. #include "platform.h"
  3. #include "types.h"
  4. namespace stingray_plugin_foundation {
  5. // Operators
  6. __forceinline Vector4 operator / (const Vector4 &lhs, const Vector4 &rhs);
  7. __forceinline Vector4 operator * (const Vector4 &lhs, const Vector4 &rhs);
  8. __forceinline Vector4 operator + (const Vector4 &lhs, const Vector4 &rhs);
  9. __forceinline Vector4 operator - (const Vector4 &lhs, const Vector4 &rhs);
  10. __forceinline void operator /= (Vector4 &lhs, const Vector4 &rhs);
  11. __forceinline void operator *= (Vector4 &lhs, const Vector4 &rhs);
  12. __forceinline void operator += (Vector4 &lhs, const Vector4 &rhs);
  13. __forceinline void operator -= (Vector4 &lhs, const Vector4 &rhs);
  14. __forceinline Vector4 operator - (const Vector4 &v);
  15. __forceinline Vector4 operator + (const Vector4 &v);
  16. __forceinline Vector4 operator / (const Vector4 &lhs, float rhs);
  17. __forceinline Vector4 operator * (const Vector4 &lhs, float rhs);
  18. __forceinline Vector4 operator * (float lhs, const Vector4 &rhs);
  19. __forceinline Vector4 operator + (const Vector4 &lhs, float rhs);
  20. __forceinline Vector4 operator - (const Vector4 &lhs, float rhs);
  21. __forceinline void operator /= (Vector4 &lhs, float rhs);
  22. __forceinline void operator *= (Vector4 &lhs, float rhs);
  23. __forceinline void operator += (Vector4 &lhs, float rhs);
  24. __forceinline void operator -= (Vector4 &lhs, float rhs);
  25. __forceinline bool operator==(const Vector4 &lhs, const Vector4 &rhs);
  26. __forceinline bool operator!=(const Vector4 &lhs, const Vector4 &rhs);
  27. // Methods
  28. __forceinline Vector4 vector4(float x, float y, float z, float w);
  29. __forceinline Vector4 vector4_base(int i);
  30. __forceinline float & element(Vector4 &m, int i);
  31. __forceinline const float & element(const Vector4 &m, int i);
  32. __forceinline void zero(Vector4 &v);
  33. __forceinline float length(const Vector4 &v);
  34. __forceinline float norm(const Vector4 &v);
  35. __forceinline float one_norm(const Vector4 &v);
  36. __forceinline float infinity_norm(const Vector4 &v);
  37. __forceinline Vector4 normalize(const Vector4 &v);
  38. __forceinline float dot(const Vector4 &v0, const Vector4 &v1);
  39. __forceinline float distance(const Vector4 &v0, const Vector4 &v1);
  40. __forceinline float distance_squared(const Vector4 &v0, const Vector4 &v1);
  41. __forceinline Vector4 normal_vector(const Vector4 &v0,const Vector4 &v1, const Vector4& v2);
  42. __forceinline Vector4 min(const Vector4 &v0, const Vector4 &v1);
  43. __forceinline Vector4 max(const Vector4 &v0, const Vector4 &v1);
  44. __forceinline Vector4 lerp(const Vector4 &a, const Vector4 &b, float t);
  45. __forceinline Vector3 vector3(const Vector4 &a);
  46. }
  47. #include "vector4.inl"