| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- $#include "Math/Vector3.h"
- class Vector3
- {
- Vector3();
- Vector3(const Vector3& vector);
- Vector3(const Vector2& vector, float z);
- Vector3(const Vector2& vector);
- Vector3(const IntVector3& vector);
- Vector3(float x, float y, float z);
- Vector3(float x, float y);
- ~Vector3();
- bool operator ==(const Vector3& rhs) const;
- Vector3 operator + (const Vector3& rhs) const;
- Vector3 operator - () const;
- Vector3 operator - (const Vector3& rhs) const;
- Vector3 operator * (float rhs) const;
- Vector3 operator * (const Vector3& rhs) const;
- Vector3 operator / (float rhs) const;
- Vector3 operator / (const Vector3& rhs) const;
- void Normalize();
- float Length() const;
- float LengthSquared() const;
- float DotProduct(const Vector3& rhs) const;
- float AbsDotProduct(const Vector3& rhs) const;
- float ProjectOntoAxis(const Vector3& axis) const;
- Vector3 ProjectOntoPlane(const Vector3& origin, const Vector3& normal);
- Vector3 ProjectOntoLine(const Vector3& from, const Vector3& to, bool clamped = false);
- float DistanceToPoint(const Vector3& point) const;
- float DistanceToPlane(const Vector3& origin, const Vector3& normal) const;
- Vector3 Orthogonalize(const Vector3& axis) const;
- Vector3 CrossProduct(const Vector3& rhs) const;
- Vector3 Abs() const;
- Vector3 Lerp(const Vector3& rhs, float t) const;
- bool Equals(const Vector3& rhs) const;
- bool IsNaN() const;
- float Angle(const Vector3& rhs) const;
- Vector3 Normalized() const;
- String ToString() const;
- float x_ @ x;
- float y_ @ y;
- float z_ @ z;
- static const Vector3 ZERO;
- static const Vector3 LEFT;
- static const Vector3 RIGHT;
- static const Vector3 UP;
- static const Vector3 DOWN;
- static const Vector3 FORWARD;
- static const Vector3 BACK;
- static const Vector3 ONE;
- };
- class IntVector3
- {
- IntVector3();
- IntVector3(int x, int y, int z);
- IntVector3(const IntVector3& rhs);
- ~IntVector3();
- bool operator ==(const IntVector3& rhs) const;
- IntVector3 operator + (const IntVector3& rhs) const;
- IntVector3 operator - () const;
- IntVector3 operator - (const IntVector3& rhs) const;
- IntVector3 operator * (int rhs) const;
- IntVector3 operator * (const IntVector3& rhs) const;
- IntVector3 operator / (int rhs) const;
- IntVector3 operator / (const IntVector3& rhs) const;
- String ToString() const;
- unsigned ToHash() const;
- float Length() const;
- int x_ @ x;
- int y_ @ y;
- int z_ @ z;
- static const IntVector3 ZERO;
- static const IntVector3 LEFT;
- static const IntVector3 RIGHT;
- static const IntVector3 UP;
- static const IntVector3 DOWN;
- static const IntVector3 FORWARD;
- static const IntVector3 BACK;
- static const IntVector3 ONE;
- };
- Vector3 VectorLerp(const Vector3& lhs, const Vector3& rhs, const Vector3& t);
- Vector3 VectorMin(const Vector3& lhs, const Vector3& rhs);
- Vector3 VectorMax(const Vector3& lhs, const Vector3& rhs);
- Vector3 VectorFloor(const Vector3& vec);
- Vector3 VectorRound(const Vector3& vec);
- Vector3 VectorCeil(const Vector3& vec);
- IntVector3 VectorFloorToInt(const Vector3& vec);
- IntVector3 VectorRoundToInt(const Vector3& vec);
- IntVector3 VectorCeilToInt(const Vector3& vec);
- IntVector3 VectorMin(const IntVector3& lhs, const IntVector3& rhs);
- IntVector3 VectorMax(const IntVector3& lhs, const IntVector3& rhs);
- float StableRandom(const Vector3& seed);
|