HDK
|
#include <vec4h.h>
Public Types | |
typedef GfHalf | ScalarType |
Scalar element type and dimension. More... | |
Public Member Functions | |
GfVec4h ()=default | |
Default constructor does no initialization. More... | |
constexpr | GfVec4h (GfHalf value) |
Initialize all elements to a single value. More... | |
constexpr | GfVec4h (GfHalf s0, GfHalf s1, GfHalf s2, GfHalf s3) |
Initialize all elements with explicit arguments. More... | |
template<class Scl > | |
constexpr | GfVec4h (Scl const *p) |
Construct with pointer to values. More... | |
GfVec4h (class GfVec4d const &other) | |
Construct from GfVec4d. More... | |
GfVec4h (class GfVec4f const &other) | |
Construct from GfVec4f. More... | |
GfVec4h (class GfVec4i const &other) | |
Implicitly convert from GfVec4i. More... | |
GfVec4h & | Set (GfHalf s0, GfHalf s1, GfHalf s2, GfHalf s3) |
Set all elements with passed arguments. More... | |
GfVec4h & | Set (GfHalf const *a) |
Set all elements with a pointer to data. More... | |
GfHalf const * | data () const |
Direct data access. More... | |
GfHalf * | data () |
GfHalf const * | GetArray () const |
GfHalf const & | operator[] (size_t i) const |
Indexing. More... | |
GfHalf & | operator[] (size_t i) |
bool | operator== (GfVec4h const &other) const |
Equality comparison. More... | |
bool | operator!= (GfVec4h const &other) const |
GF_API bool | operator== (class GfVec4d const &other) const |
Equality comparison. More... | |
GF_API bool | operator== (class GfVec4f const &other) const |
Equality comparison. More... | |
GF_API bool | operator== (class GfVec4i const &other) const |
Equality comparison. More... | |
GfVec4h | operator- () const |
Create a vec with negated elements. More... | |
GfVec4h & | operator+= (GfVec4h const &other) |
Addition. More... | |
GfVec4h & | operator-= (GfVec4h const &other) |
Subtraction. More... | |
GfVec4h & | operator*= (double s) |
Multiplication by scalar. More... | |
GfVec4h | operator* (double s) const |
GfVec4h & | operator/= (double s) |
Division by scalar. More... | |
GfVec4h | operator/ (double s) const |
GfHalf | operator* (GfVec4h const &v) const |
See GfDot(). More... | |
GfVec4h | GetProjection (GfVec4h const &v) const |
GfVec4h | GetComplement (GfVec4h const &b) const |
GfHalf | GetLengthSq () const |
Squared length. More... | |
GfHalf | GetLength () const |
Length. More... | |
GfHalf | Normalize (GfHalf eps=0.001) |
GfVec4h | GetNormalized (GfHalf eps=0.001) const |
Static Public Member Functions | |
static GfVec4h | XAxis () |
Create a unit vector along the X-axis. More... | |
static GfVec4h | YAxis () |
Create a unit vector along the Y-axis. More... | |
static GfVec4h | ZAxis () |
Create a unit vector along the Z-axis. More... | |
static GfVec4h | WAxis () |
Create a unit vector along the W-axis. More... | |
static GfVec4h | Axis (size_t i) |
Static Public Attributes | |
static const size_t | dimension = 4 |
Friends | |
size_t | hash_value (GfVec4h const &vec) |
Hash. More... | |
GfVec4h | operator+ (GfVec4h const &l, GfVec4h const &r) |
GfVec4h | operator- (GfVec4h const &l, GfVec4h const &r) |
GfVec4h | operator* (double s, GfVec4h const &v) |
Basic type for a vector of 4 GfHalf components.
Represents a vector of 4 components of type GfHalf
. It is intended to be fast and simple.
typedef GfHalf GfVec4h::ScalarType |
|
default |
Default constructor does no initialization.
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlinestatic |
|
inline |
Returns the orthogonal complement of this->GetProjection(b)
. That is:
|
inline |
Normalizes the vector in place to unit length, returning the length before normalization. If the length of the vector is smaller than eps
, then the vector is set to vector/eps
. The original length of the vector is returned. See also GfNormalize().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |