#include <IceHPoint.h>
Public Member Functions | |
inline_ HPoint & | Add (float _x, float _y, float _z, float _w) |
Add a vector. More... | |
inline_ HPoint & | Add (const float f[4]) |
Add a vector. More... | |
inline_ | HPoint () |
Empty constructor. More... | |
inline_ | HPoint (float _x, float _y, float _z, float _w=0.0f) |
Constructor from floats. More... | |
inline_ | HPoint (const float f[4]) |
Constructor from array. More... | |
inline_ | HPoint (const Point &p, float _w=0.0f) |
Constructor from a Point. More... | |
inline_ float | Magnitude () const |
Computes magnitude. More... | |
float | Max () const |
Returns MAX(x, y, z, w);. More... | |
HPoint & | Max (const HPoint &p) |
Sets each element to be componentwise maximum. More... | |
float | Min () const |
Returns MIN(x, y, z, w);. More... | |
HPoint & | Min (const HPoint &p) |
Sets each element to be componentwise minimum. More... | |
inline_ HPoint & | Mul (float s) |
Multiplies by a scalar. More... | |
inline_ HPoint & | Normalize () |
Normalize the vector. More... | |
inline_ bool | operator!= (const HPoint &p) const |
Operator for "if(HPoint!=HPoint)". More... | |
inline_ HPoint | operator* (const HPoint &p) const |
Operator for HPoint Mul = HPoint * HPoint;. More... | |
inline_ HPoint | operator* (float s) const |
Operator for HPoint Scale = HPoint * float;. More... | |
Point | operator* (const Matrix3x3 &mat) const |
Operator for Point Mul = HPoint * Matrix3x3;. More... | |
HPoint | operator* (const Matrix4x4 &mat) const |
Operator for HPoint Mul = HPoint * Matrix4x4;. More... | |
inline_ HPoint & | operator*= (const HPoint &p) |
Operator for HPoint *= HPoint;. More... | |
inline_ HPoint & | operator*= (float s) |
Operator for HPoint *= float;. More... | |
HPoint & | operator*= (const Matrix4x4 &mat) |
Operator for HPoint *= Matrix4x4. More... | |
inline_ HPoint | operator+ (const HPoint &p) const |
Operator for HPoint Plus = HPoint + HPoint;. More... | |
inline_ HPoint & | operator+= (const HPoint &p) |
Operator for HPoint += HPoint;. More... | |
inline_ HPoint & | operator+= (float s) |
Operator for HPoint += float;. More... | |
inline_ HPoint | operator- () const |
Operator for HPoint Negate = - HPoint;. More... | |
inline_ HPoint | operator- (const HPoint &p) const |
Operator for HPoint Minus = HPoint - HPoint;. More... | |
inline_ HPoint & | operator-= (const HPoint &p) |
Operator for HPoint -= HPoint;. More... | |
inline_ HPoint & | operator-= (float s) |
Operator for HPoint -= float;. More... | |
inline_ HPoint | operator/ (const HPoint &p) const |
Operator for HPoint Div = HPoint / HPoint;. More... | |
inline_ HPoint | operator/ (float s) const |
Operator for HPoint Scale = HPoint / float;. More... | |
inline_ HPoint & | operator/= (const HPoint &p) |
Operator for HPoint /= HPoint;. More... | |
inline_ HPoint & | operator/= (float s) |
Operator for HPoint /= float;. More... | |
inline_ bool | operator== (const HPoint &p) const |
Operator for "if(HPoint==HPoint)". More... | |
inline_ float | operator| (const HPoint &p) const |
Operator for float DotProd = HPoint | HPoint;. More... | |
inline_ HPoint & | Set (float _x, float _y, float _z, float _w) |
Assignment from values. More... | |
inline_ HPoint & | Set (const float f[4]) |
Assignment from array. More... | |
inline_ HPoint & | Set (const HPoint &src) |
Assignment from another h-point. More... | |
inline_ float | SquareMagnitude () const |
Computes square magnitude. More... | |
inline_ HPoint & | Sub (float _x, float _y, float _z, float _w) |
Subtract a vector. More... | |
inline_ HPoint & | Sub (const float f[4]) |
Subtract a vector. More... | |
inline_ HPoint & | Zero () |
Clear the point. More... | |
inline_ | ~HPoint () |
Destructor. More... | |
Public Member Functions inherited from Point | |
inline_ Point & | Add (const Point &p) |
Adds a vector. More... | |
inline_ Point & | Add (float _x, float _y, float _z) |
Adds a vector. More... | |
inline_ Point & | Add (const float f[3]) |
Adds a vector. More... | |
inline_ Point & | Add (const Point &p, const Point &q) |
Adds vectors. More... | |
inline_ bool | ApproxZero () const |
Checks the point is near zero. More... | |
inline_ Point & | Clamp (float min, float max) |
Clamps each element. More... | |
inline_ Point & | ClampLength (float limit_length) |
Clamps vector length. More... | |
inline_ PointComponent | ClosestAxis () const |
Returns closest axis. More... | |
inline_ Point & | Cross (const Point &a, const Point &b) |
Cross product this = a x b. More... | |
inline_ float | Distance (const Point &b) const |
Computes distance to another point. More... | |
inline_ float | Dot (const Point &p) const |
Dot product dp = this|a. More... | |
inline_ udword | GetHashValue () const |
Hash function from Ville Miettinen. More... | |
inline_ Point & | Herp (const Point &p0, const Point &p1, const Point &p2, const Point &p3, float t) |
inline_ Point & | InvTransform (const Point &r, const Matrix3x3 &rotpos, const Point &linpos) |
this = trans(rotpos) * (r - linpos) More... | |
BOOL | IsNotUsed () const |
Checks the point is marked as not used. More... | |
inline_ BOOL | IsValid () const |
Checks point validity. More... | |
inline_ BOOL | IsZero () const |
Tests for exact zero vector. More... | |
inline_ PointComponent | LargestAxis () const |
Returns largest axis. More... | |
inline_ Point & | Lerp (const Point &a, const Point &b, float t) |
Linear interpolate between two vectors: this = a + t * (b - a) More... | |
inline_ Point & | Mac (const Point &a, const Point &b, float scalar) |
this = a + b * scalar More... | |
inline_ Point & | Mac (const Point &a, float scalar) |
this = this + a * scalar More... | |
inline_ Point & | Mac (const Matrix3x3 &mat, const Point &a) |
this = this + mat * a More... | |
inline_ Point & | Mac2 (const Point &a, const Point &b, float scalarb, const Point &c, float scalarc) |
this = a + b * scalarb + c * scalarc More... | |
inline_ float | Magnitude () const |
Computes magnitude. More... | |
inline_ float | Max () const |
Returns MAX(x, y, z);. More... | |
inline_ Point & | Max (const Point &p) |
Sets each element to be componentwise maximum. More... | |
inline_ float | Min () const |
Returns MIN(x, y, z);. More... | |
inline_ Point & | Min (const Point &p) |
Sets each element to be componentwise minimum. More... | |
inline_ Point & | Msc (const Point &a, const Point &b, float scalar) |
this = a - b * scalar More... | |
inline_ Point & | Msc (const Point &a, float scalar) |
this = this - a * scalar More... | |
inline_ Point & | Msc2 (const Point &a, const Point &b, float scalarb, const Point &c, float scalarc) |
this = a - b * scalarb - c * scalarc More... | |
inline_ Point & | Mult (float s) |
Multiplies by a scalar. More... | |
inline_ Point & | Mult (const Point &a, float scalar) |
this = a * scalar More... | |
inline_ Point & | Mult (const Matrix3x3 &mat, const Point &a) |
this = mat * a More... | |
inline_ Point & | Mult2 (const Matrix3x3 &mat1, const Point &a1, const Matrix3x3 &mat2, const Point &a2) |
this = mat1 * a1 + mat2 * a2 More... | |
inline_ Point & | Neg () |
this = -this More... | |
inline_ Point & | Neg (const Point &a) |
this = -a More... | |
inline_ Point & | Normalize () |
Normalizes the vector. More... | |
inline_ | operator const float * () const |
inline_ | operator float * () |
operator HPoint () const | |
Cast a Point to a HPoint. w is set to zero. More... | |
inline_ bool | operator!= (const Point &p) const |
Operator for "if(Point!=Point)". More... | |
inline_ Point | operator* (const Point &p) const |
Operator for Point Mul = Point * Point. More... | |
inline_ Point | operator* (float s) const |
Operator for Point Scale = Point * float. More... | |
inline_ Point | operator* (const Matrix3x3 &mat) const |
Operator for Point Mul = Point * Matrix3x3. More... | |
inline_ Point | operator* (const Matrix4x4 &mat) const |
Operator for Point Mul = Point * Matrix4x4. More... | |
inline_ Point & | operator*= (const Point &p) |
Operator for Point *= Point. More... | |
inline_ Point & | operator*= (float s) |
Operator for Point *= float. More... | |
inline_ Point & | operator*= (const Matrix3x3 &mat) |
Operator for Point *= Matrix3x3. More... | |
inline_ Point & | operator*= (const Matrix4x4 &mat) |
Operator for Point *= Matrix4x4. More... | |
inline_ Point | operator+ (const Point &p) const |
Operator for Point Plus = Point + Point. More... | |
inline_ Point & | operator+= (const Point &p) |
Operator for Point += Point. More... | |
inline_ Point & | operator+= (float s) |
Operator for Point += float. More... | |
inline_ Point | operator- () const |
Unary operator for Point Negate = - Point. More... | |
inline_ Point | operator- (const Point &p) const |
Operator for Point Minus = Point - Point. More... | |
inline_ Point & | operator-= (const Point &p) |
Operator for Point -= Point. More... | |
inline_ Point & | operator-= (float s) |
Operator for Point -= float. More... | |
inline_ Point | operator/ (const Point &p) const |
Operator for Point Div = Point / Point. More... | |
inline_ Point | operator/ (float s) const |
Operator for Point Scale = Point / float. More... | |
inline_ Point & | operator/= (const Point &p) |
Operator for Point /= Point. More... | |
inline_ Point & | operator/= (float s) |
Operator for Point /= float. More... | |
inline_ bool | operator== (const Point &p) const |
Operator for "if(Point==Point)". More... | |
inline_ Point | operator^ (const Point &p) const |
Operator for Point VecProd = Point ^ Point. More... | |
inline_ float | operator| (const Point &p) const |
Operator for float DotProd = Point | Point. More... | |
inline_ | Point () |
Empty constructor. More... | |
inline_ | Point (float _x, float _y, float _z) |
Constructor from a single float. More... | |
inline_ | Point (const float f[3]) |
Constructor from array. More... | |
inline_ | Point (const Point &p) |
Copy constructor. More... | |
Point & | PositiveUnitRandomVector () |
Sets positive unit random vector. More... | |
Point & | ProjectToPlane (const Plane &p) |
Projects the point onto a plane. More... | |
void | ProjectToScreen (float halfrenderwidth, float halfrenderheight, const Matrix4x4 &mat, HPoint &projected) const |
Projects the point onto the screen. More... | |
Point & | Refract (const Point &eye, const Point &n, float refractindex, Point &refracted) |
Refracts the point. More... | |
inline_ Point & | Set (float _x, float _y, float _z) |
Assignment from values. More... | |
inline_ Point & | Set (const float f[3]) |
Assignment from array. More... | |
inline_ Point & | Set (const Point &src) |
Assignment from another point. More... | |
inline_ Point & | SetLength (float length) |
Sets vector length. More... | |
inline_ Point & | SetMinusInfinity () |
void | SetNotUsed () |
Stuff magic values in the point, marking it as explicitely not used. More... | |
inline_ Point & | SetPlusInfinity () |
inline_ PointComponent | SmallestAxis () const |
Returns smallest axis. More... | |
inline_ float | SquareDistance (const Point &b) const |
Computes square distance to another point. More... | |
inline_ float | SquareMagnitude () const |
Computes square magnitude. More... | |
inline_ Point & | Sub (const Point &p) |
Subtracts a vector. More... | |
inline_ Point & | Sub (float _x, float _y, float _z) |
Subtracts a vector. More... | |
inline_ Point & | Sub (const float f[3]) |
Subtracts a vector. More... | |
inline_ Point & | Sub (const Point &p, const Point &q) |
Subtracts vectors. More... | |
inline_ Point & | Transform (const Point &r, const Matrix3x3 &rotpos, const Point &linpos) |
this = rotpos * r + linpos More... | |
inline_ Point & | TransMult (const Matrix3x3 &mat, const Point &a) |
this = transpose(mat) * a More... | |
void | Tweak (udword coord_mask, udword tweak_mask) |
Slighty moves the point. More... | |
inline_ void | TweakBigger () |
Slighty moves the point out. More... | |
inline_ void | TweakSmaller () |
Slighty moves the point in. More... | |
Point & | Unfold (Plane &p, Point &a, Point &b) |
Unfolds the point onto a plane according to edge(a,b) More... | |
Point & | UnitRandomVector () |
Sets unit random vector. More... | |
inline_ udword | VectorCode () const |
Vector code ( bitmask = sign(z) | sign(y) | sign(x) ) More... | |
inline_ float | Volume () const |
Computes volume. More... | |
inline_ Point & | Zero () |
Clears the vector. More... | |
inline_ | ~Point () |
Destructor. More... | |
Public Attributes | |
float | w |
Cast a HPoint to a Point. w is discarded. More... | |
Public Attributes inherited from Point | |
float | x |
float | y |
float | z |
Friends | |
inline_ friend HPoint | operator* (float s, const HPoint &p) |
Operator for HPoint Scale = float * HPoint;. More... | |
inline_ friend HPoint | operator/ (float s, const HPoint &p) |
Operator for HPoint Scale = float / HPoint;. More... | |
Homogeneous point.
Use it:
Definition at line 15 of file IceHPoint.h.
|
inline |
Empty constructor.
Definition at line 20 of file IceHPoint.h.
|
inline |
Constructor from floats.
Definition at line 22 of file IceHPoint.h.
Constructor from array.
Definition at line 24 of file IceHPoint.h.
Constructor from a Point.
Definition at line 26 of file IceHPoint.h.
|
inline |
Destructor.
Definition at line 28 of file IceHPoint.h.
Add a vector.
Definition at line 41 of file IceHPoint.h.
Add a vector.
Definition at line 43 of file IceHPoint.h.
|
inline |
Computes magnitude.
Definition at line 65 of file IceHPoint.h.
|
inline |
Returns MAX(x, y, z, w);.
Definition at line 56 of file IceHPoint.h.
Sets each element to be componentwise maximum.
Definition at line 60 of file IceHPoint.h.
|
inline |
Returns MIN(x, y, z, w);.
Definition at line 54 of file IceHPoint.h.
Sets each element to be componentwise minimum.
Definition at line 58 of file IceHPoint.h.
Multiplies by a scalar.
Definition at line 51 of file IceHPoint.h.
Normalize the vector.
Definition at line 68 of file IceHPoint.h.
Operator for "if(HPoint!=HPoint)".
Definition at line 145 of file IceHPoint.h.
Operator for HPoint Mul = HPoint * HPoint;.
Definition at line 92 of file IceHPoint.h.
Operator for HPoint Scale = HPoint * float;.
Definition at line 94 of file IceHPoint.h.
Operator for HPoint *= HPoint;.
Definition at line 120 of file IceHPoint.h.
Operator for HPoint *= float;.
Definition at line 122 of file IceHPoint.h.
Operator for HPoint Plus = HPoint + HPoint;.
Definition at line 87 of file IceHPoint.h.
Operator for HPoint += HPoint;.
Definition at line 110 of file IceHPoint.h.
Operator for HPoint += float;.
Definition at line 112 of file IceHPoint.h.
Operator for HPoint Negate = - HPoint;.
Definition at line 84 of file IceHPoint.h.
Operator for HPoint Minus = HPoint - HPoint;.
Definition at line 89 of file IceHPoint.h.
Operator for HPoint -= HPoint;.
Definition at line 115 of file IceHPoint.h.
Operator for HPoint -= float;.
Definition at line 117 of file IceHPoint.h.
Operator for HPoint Div = HPoint / HPoint;.
Definition at line 99 of file IceHPoint.h.
Operator for HPoint Scale = HPoint / float;.
Definition at line 101 of file IceHPoint.h.
Operator for HPoint /= HPoint;.
Definition at line 125 of file IceHPoint.h.
Operator for HPoint /= float;.
Definition at line 127 of file IceHPoint.h.
Operator for "if(HPoint==HPoint)".
Definition at line 143 of file IceHPoint.h.
Operator for float DotProd = HPoint | HPoint;.
Definition at line 106 of file IceHPoint.h.
Assignment from values.
Definition at line 34 of file IceHPoint.h.
Assignment from array.
Definition at line 36 of file IceHPoint.h.
Assignment from another h-point.
Definition at line 38 of file IceHPoint.h.
|
inline |
Computes square magnitude.
Definition at line 63 of file IceHPoint.h.
Subtract a vector.
Definition at line 46 of file IceHPoint.h.
Subtract a vector.
Definition at line 48 of file IceHPoint.h.
Clear the point.
Definition at line 31 of file IceHPoint.h.
Operator for HPoint Scale = float * HPoint;.
Definition at line 96 of file IceHPoint.h.
Operator for HPoint Scale = float / HPoint;.
Definition at line 103 of file IceHPoint.h.
float HPoint::w |
Cast a HPoint to a Point. w is discarded.
Definition at line 156 of file IceHPoint.h.