Public Methods |
|
__forceinline | Point () |
| | Empty constructor.
|
|
__forceinline | Point (float _x, float _y, float _z) |
| | Constructor from floats.
|
|
__forceinline | Point (float f[3]) |
| | Constructor from array.
|
|
__forceinline | Point (const Point &p) |
| | Copy constructor.
|
|
__forceinline | ~Point () |
| | Destructor.
|
|
__forceinline Point & | Zero () |
| | Clear vector.
|
|
__forceinline Point & | SetPlusInfinity () |
| | + infinity.
|
|
__forceinline Point & | SetMinusInfinity () |
| |
|
|
Point & | UnitRandomVector () |
| | Set unit random vector.
|
|
__forceinline Point & | Set (float _x, float _y, float _z) |
| | Assignment from values.
|
|
__forceinline Point & | Set (float f[3]) |
| | Assignment from array.
|
|
__forceinline Point & | Set (const Point &src) |
| | Assignment from another point.
|
|
__forceinline Point & | Add (const Point &p) |
| | Add a vector.
|
|
__forceinline Point & | Add (float _x, float _y, float _z) |
| | Add a vector.
|
|
__forceinline Point & | Add (float f[3]) |
| | Add a vector.
|
|
__forceinline Point & | Add (const Point &p, const Point &q) |
| | Add vectors.
|
|
__forceinline Point & | Sub (const Point &p) |
| | Subtract a vector.
|
|
__forceinline Point & | Sub (float _x, float _y, float _z) |
| | Subtract a vector.
|
|
__forceinline Point & | Sub (float f[3]) |
| | Subtract a vector.
|
|
__forceinline Point & | Sub (const Point &p, const Point &q) |
| | Subtract vectors.
|
|
__forceinline Point & | Neg () |
| | this = -this.
|
|
__forceinline Point & | Neg (const Point &a) |
| | this = -a.
|
|
__forceinline Point & | Mult (float s) |
| | Multiplies by a scalar.
|
|
__forceinline Point & | Mult (const Point &a, float scalar) |
| | this = a * scalar.
|
|
__forceinline Point & | Mac (const Point &a, const Point &b, float scalar) |
| | this = a + b * scalar.
|
|
__forceinline Point & | Mac (const Point &a, float scalar) |
| | this = this + a * scalar.
|
|
__forceinline Point & | Msc (const Point &a, const Point &b, float scalar) |
| | this = a - b * scalar.
|
|
__forceinline Point & | Msc (const Point &a, float scalar) |
| | this = this - a * scalar.
|
|
__forceinline Point & | Mac2 (const Point &a, const Point &b, float scalarb, const Point &c, float scalarc) |
| | this = a + b * scalarb + c * scalarc.
|
|
__forceinline Point & | Msc2 (const Point &a, const Point &b, float scalarb, const Point &c, float scalarc) |
| | this = a - b * scalarb - c * scalarc.
|
|
__forceinline Point & | Mult (const Matrix3x3 &mat, const Point &a) |
| | this = mat * a.
|
|
__forceinline Point & | Mult2 (const Matrix3x3 &mat1, const Point &a1, const Matrix3x3 &mat2, const Point &a2) |
| | this = mat1 * a1 + mat2 * a2.
|
|
__forceinline Point & | Mac (const Matrix3x3 &mat, const Point &a) |
| | this = this + mat * a.
|
|
__forceinline Point & | TransMult (const Matrix3x3 &mat, const Point &a) |
| | this = transpose(mat) * a.
|
|
__forceinline Point & | Lerp (const Point &a, const Point &b, float t) |
| | Linear interpolate between two vectors: this = a + t * (b - a).
|
|
__forceinline Point & | Herp (const Point &p0, const Point &p1, const Point &p2, const Point &p3, float t) |
| | Hermite interpolate between p1 and p2. p0 and p3 are used for finding gradient at p1 and p2. this = p0 * (2t^2 - t^3 - t)/2 + p1 * (3t^3 - 5t^2 + 2)/2 + p2 * (4t^2 - 3t^3 + t)/2 + p3 * (t^3 - t^2)/2.
|
|
__forceinline Point & | Transform (const Point &r, const Matrix3x3 &rotpos, const Point &linpos) |
| | this = rotpos * r + linpos.
|
|
__forceinline Point & | InvTransform (const Point &r, const Matrix3x3 &rotpos, const Point &linpos) |
| | this = trans(rotpos) * (r - linpos).
|
|
__forceinline float | Min () const |
| | Returns MIN(x, y, z);.
|
|
__forceinline float | Max () const |
| | Returns MAX(x, y, z);.
|
|
__forceinline Point & | Min (const Point &p) |
| | TO BE DOCUMENTED.
|
|
__forceinline Point & | Max (const Point &p) |
| | TO BE DOCUMENTED.
|
|
__forceinline float | SquareMagnitude () const |
| | Computes square magnitude.
|
|
__forceinline float | Magnitude () const |
| | Computes magnitude.
|
|
bool | ApproxZero () const |
| | A method to check the point is near zero.
|
|
void | Tweak (udword coordmask, udword tweakmask) |
| | A method to slighty move the point.
|
|
__forceinline void | TweakBigger () |
| | A method to slighty move the point out.
|
|
__forceinline void | TweakSmaller () |
| | A method to slighty move the point in.
|
|
__forceinline Point & | Normalize () |
| | Normalize the vector.
|
|
__forceinline Point & | SetLength (float length) |
| | Set vector length.
|
|
__forceinline float | Distance (const Point &b) const |
| | Compute distance to another point.
|
|
__forceinline float | SquareDistance (const Point &b) const |
| | Compute square distance to another point.
|
|
__forceinline float | Dot (const Point &p) const |
| | Dot product dp = this|a.
|
|
__forceinline Point & | Cross (const Point &a, const Point &b) |
| | Cross product this = a x b.
|
|
__forceinline udword | VectorCode () const |
| | Vector code ( bitmask = sign(z) | sign(y) | sign(x) ).
|
|
__forceinline udword | LargestAxis () const |
| | Return largest axis.
|
|
__forceinline udword | ClosestAxis () const |
| | Return closest axis.
|
|
__forceinline udword | SmallestAxis () const |
| | Return smallest axis.
|
|
Point & | Refract (Point &eye, Point &n, float refractindex, Point &refracted) |
| | Refract the point.
|
|
Point & | ProjectToPlane (const Plane &p) |
| | Project the point onto a plane.
|
|
void | ProjectToScreen (float halfrenderwidth, float halfrenderheight, const Matrix4x4 &mat, HPoint &projected) const |
| | Project the point onto the screen.
|
|
Point & | Unfold (Plane &p, Point &a, Point &b) |
| | Unfold the point onto a plane according to edge(a,b).
|
|
__forceinline Point | operator- () const |
| | Operator for Point Negate = - Point.
|
|
__forceinline Point | operator+ (const Point &p) const |
| | Operator for Point Plus = Point + Point.
|
|
__forceinline Point | operator- (const Point &p) const |
| | Operator for Point Minus = Point - Point.
|
|
__forceinline Point | operator * (const Point &p) const |
| | Operator for Point Mul = Point * Point.
|
|
__forceinline Point | operator * (float s) const |
| | Operator for Point Scale = Point * float.
|
|
__forceinline Point | operator/ (const Point &p) const |
| | Operator for Point Div = Point / Point.
|
|
__forceinline Point | operator/ (float s) const |
| | Operator for Point Scale = Point / float.
|
|
__forceinline float | operator| (const Point &p) const |
| | Operator for float DotProd = Point | Point.
|
|
__forceinline Point | operator^ (const Point &p) const |
| | Operator for Point VecProd = Point ^ Point.
|
|
__forceinline Point & | operator+= (const Point &p) |
| | Operator for Point += Point.
|
|
__forceinline Point & | operator+= (float s) |
| | Operator for Point += float.
|
|
__forceinline Point & | operator-= (const Point &p) |
| | Operator for Point -= Point.
|
|
__forceinline Point & | operator-= (float s) |
| | Operator for Point -= float.
|
|
__forceinline Point & | operator *= (const Point &p) |
| | Operator for Point *= Point.
|
|
__forceinline Point & | operator *= (float s) |
| | Operator for Point *= float.
|
|
__forceinline Point & | operator/= (const Point &p) |
| | Operator for Point /= Point.
|
|
__forceinline Point & | operator/= (float s) |
| | Operator for Point /= float.
|
|
Point | operator * (const Matrix3x3 &mat) const |
| | Operator for Point Mul = Point * Matrix3x3.
|
|
Point | operator * (const Matrix4x4 &mat) const |
| | Operator for Point Mul = Point * Matrix4x4.
|
|
Point & | operator *= (const Matrix3x3 &mat) |
| | Operator for Point *= Matrix3x3.
|
|
Point & | operator *= (const Matrix4x4 &mat) |
| | Operator for Point *= Matrix4x4.
|
|
| operator HPoint () const |
| | Cast a Point to a HPoint. w is set to zero.
|
Friends |
|
__forceinline friend Point | operator * (float s, const Point &p) |
| | Operator for Point Scale = float * Point.
|
|
__forceinline friend Point | operator/ (float s, const Point &p) |
| | Operator for Point Scale = float / Point.
|