96 operator const FXVec3d&()
const {
return *
reinterpret_cast<const FXVec3d*
>(
this);}
122 bool operator!()
const {
return x==0.0 && y==0.0 && z==0.0 && w==0.0; }
206 extern FXAPI FXVec4d
plane(
const FXVec4d& vec);
208 extern FXAPI FXVec4d
plane(
const FXVec3d& vec,
const FXVec3d& p);
209 extern FXAPI FXVec4d
plane(
const FXVec3d& a,
const FXVec3d& b,
const FXVec3d& c);
FXdouble w
Definition: FXVec4d.h:40
FXVec2d lo(const FXVec2d &a, const FXVec2d &b)
Definition: FXVec2d.h:174
FXMat3d operator/(const FXMat3d &a, FXdouble x)
FXdouble & operator[](FXint i)
Return a non-const reference to the ith element.
Definition: FXVec4d.h:62
FXStream & operator>>(FXStream &store, FXDate &d)
FXVec4d(FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww=1.0)
Initialize with components.
Definition: FXVec4d.h:56
FXVec4d & operator=(const FXVec3d &v)
Assignment.
Definition: FXVec4d.h:71
bool operator==(const FXVec4d &v) const
Equality tests.
Definition: FXVec4d.h:125
#define FXCLAMP(lo, x, hi)
Clamp value x to range [lo..hi].
Definition: fxdefs.h:502
FXdouble x
Definition: FXVec4d.h:37
FXVec4d & operator=(const FXVec4d &v)
Definition: FXVec4d.h:72
FXVec4d & clamp(FXdouble lo, FXdouble hi)
Clamp values of vector between limits.
Definition: FXVec4d.h:154
const FXdouble & operator[](FXint i) const
Return a const reference to the ith element.
Definition: FXVec4d.h:65
Double-precision 3-element vector.
Definition: FXVec3d.h:36
Double-precision 4x4 matrix.
Definition: FXMat4d.h:32
bool operator<(const FXVec4d &v) const
Inequality tests.
Definition: FXVec4d.h:134
FXVec4d operator+(const FXVec4d &v) const
Vector and vector.
Definition: FXVec4d.h:106
#define FXAPI
Definition: fxdefs.h:122
FXVec4d(const FXVec4d &v)
Initialize from another vector.
Definition: FXVec4d.h:47
FXVec4d & set(FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww)
Set value from components.
Definition: FXVec4d.h:84
FXVec4d & operator*=(FXdouble n)
Assigning operators.
Definition: FXVec4d.h:87
bool operator!=(const FXVec4d &v) const
Definition: FXVec4d.h:126
FXVec4d & set(const FXdouble v[])
Set value from array of floats.
Definition: FXVec4d.h:81
bool operator<=(const FXString &s1, const FXString &s2)
FXuint FXColor
Definition: fxdefs.h:447
FXdouble operator*(const FXVec4d &v) const
Dot product.
Definition: FXVec4d.h:119
FXdouble z
Definition: FXVec4d.h:39
bool operator>=(const FXString &s1, const FXString &s2)
A stream is a way to serialize data and objects into a byte stream.
Definition: FXStream.h:99
FXString normalize(const FXString &s)
bool operator>(const FXVec4d &v) const
Definition: FXVec4d.h:136
FXVec4d & set(const FXVec4d &v)
Set value from another vector.
Definition: FXVec4d.h:78
FXdouble y
Definition: FXVec3d.h:39
double FXdouble
Definition: fxdefs.h:392
FXdouble x
Definition: FXVec3d.h:38
bool operator!() const
Test if zero.
Definition: FXVec4d.h:122
#define FXMAX(a, b)
Return the maximum of a or b.
Definition: fxdefs.h:481
FXVec4d & operator-=(const FXVec4d &v)
Definition: FXVec4d.h:90
Definition: FX4Splitter.h:31
int FXint
Definition: fxdefs.h:390
FXVec4d & operator+=(const FXVec4d &v)
Definition: FXVec4d.h:89
Double-precision 4-element vector.
Definition: FXVec4d.h:35
FXdouble y
Definition: FXVec4d.h:38
FXdouble z
Definition: FXVec3d.h:40
bool operator<=(const FXVec4d &v) const
Definition: FXVec4d.h:135
FXVec2d hi(const FXVec2d &a, const FXVec2d &b)
Definition: FXVec2d.h:175
#define FXMIN(a, b)
Return the minimum of a or b.
Definition: fxdefs.h:484
FXdouble length() const
Definition: FXVec4d.h:151
FXVec4d operator-(const FXVec4d &v) const
Definition: FXVec4d.h:107
FXVec4d operator-() const
Definition: FXVec4d.h:103
FXVec4d & operator=(const FXdouble v[])
Assignment from array of doubles.
Definition: FXVec4d.h:75
bool operator<(const FXString &s1, const FXString &s2)
FXdouble length2() const
Length and square of length.
Definition: FXVec4d.h:150
bool operator>(const FXString &s1, const FXString &s2)
FXVec4d(const FXdouble v[])
Initialize from array of doubles.
Definition: FXVec4d.h:53
bool operator>=(const FXVec4d &v) const
Definition: FXVec4d.h:137
FXVec4d operator+() const
Unary.
Definition: FXVec4d.h:102
FXVec4d(const FXVec3d &v, FXdouble ww=1.0)
Construct with 3-vector and optional scalar.
Definition: FXVec4d.h:50
FXVec4d & operator/=(FXdouble n)
Definition: FXVec4d.h:88
FXVec4d plane(const FXVec4d &vec)
FXStream & operator<<(FXStream &store, const FXDate &d)
bool operator!=(const FXString &s1, const FXString &s2)
bool operator==(const FXString &s1, const FXString &s2)
FXMat3d operator*(FXdouble x, const FXMat3d &a)
FXVec4d()
Default constructor.
Definition: FXVec4d.h:44