jaulib v1.3.6
Jau Support Library (C++, Java, ..)
|
4D vector using four value_type components. More...
#include <vec4f.hpp>
Public Types | |
typedef const value_type * | const_iterator |
typedef const value_type * | const_pointer |
typedef const value_type & | const_reference |
typedef value_type * | iterator |
typedef value_type * | pointer |
typedef value_type & | reference |
typedef Value_type | value_type |
typedef Vector3F< value_type, std::is_floating_point_v< Value_type > > | Vec3 |
Public Member Functions | |
constexpr | Vector4F () noexcept |
constexpr | Vector4F (const value_type v) noexcept |
constexpr | Vector4F (const value_type x_, const value_type y_, const value_type z_, const value_type w_) noexcept |
constexpr | Vector4F (const Vec3 &o3, const value_type w_) noexcept |
constexpr | Vector4F (const Vector4F &o) noexcept=default |
constexpr | Vector4F (const_iterator v) noexcept |
constexpr | Vector4F (std::initializer_list< value_type > v) noexcept |
constexpr | Vector4F (Vector4F &&o) noexcept=default |
constexpr Vector4F & | add (const value_type dx, const value_type dy, const value_type dz, const value_type dw) noexcept |
this = this + {dx, dy, dz, dw}, returns this. | |
constexpr iterator | begin () noexcept |
constexpr const_iterator | cbegin () const noexcept |
constexpr Vector4F | copy () noexcept |
constexpr value_type | dist (const Vector4F &o) const noexcept |
Return the distance between this vector and the given one. | |
constexpr value_type | dist_sq (const Vector4F &o) const noexcept |
Return the squared distance between this vector and the given one. | |
constexpr iterator | get (iterator xyzw) const noexcept |
xyzw = this, returns xyzw. | |
constexpr Vec3 & | getVec3 (Vec3 &out) const noexcept |
out = { this.x, this.y, this.z } dropping w, returns out. | |
constexpr_cxx23 bool | intersects (const Vector4F &o) const noexcept |
constexpr bool | is_zero () const noexcept |
constexpr value_type | length () const noexcept |
Return the length of a vector, a.k.a the norm or magnitude | |
constexpr value_type | length_sq () const noexcept |
Return the squared length of a vector, a.k.a the squared norm or squared magnitude | |
constexpr Vector4F & | mul (const value_type sx, const value_type sy, const value_type sz, const value_type sw) noexcept |
this = this * {sx, sy, sz, sw}, returns this. | |
constexpr Vector4F & | normalize () noexcept |
Normalize this vector in place. | |
operator const_pointer () const noexcept | |
operator pointer () noexcept | |
constexpr Vector4F & | operator*= (const value_type s) noexcept |
Scale this vector with given scale factor. | |
constexpr Vector4F & | operator+= (const Vector4F &rhs) noexcept |
this = this + rhs, returns this. | |
constexpr Vector4F & | operator-= (const Vector4F &rhs) noexcept |
this = this - rhs, returns this. | |
constexpr Vector4F & | operator/= (const value_type s) noexcept |
Divide this vector with given scale factor. | |
constexpr Vector4F & | operator= (const Vector4F &) noexcept=default |
constexpr Vector4F & | operator= (Vector4F &&) noexcept=default |
constexpr bool | operator== (const Vector4F &rhs) const noexcept |
constexpr value_type | operator[] (size_t i) const noexcept |
Returns read-only component. | |
constexpr reference | operator[] (size_t i) noexcept |
Returns writeable reference to component. | |
constexpr Vector4F & | scale (const value_type s) noexcept |
this = this * s, returns this. | |
constexpr Vector4F & | set (const value_type vx, const value_type vy, const value_type vz, const value_type vw) noexcept |
constexpr Vector4F & | set (const Vec3f &o, const value_type w_) noexcept |
TODO constexpr bool operator<=>(const vec4f_t& rhs ) const noexcept { return ... }. | |
constexpr Vector4F & | set (const_iterator xyzw) noexcept |
this = xyzw, returns this. | |
std::string | toString () const noexcept |
Public Attributes | |
value_type | w |
value_type | x |
value_type | y |
value_type | z |
Static Public Attributes | |
static constexpr const size_t | byte_size = components * sizeof(value_type) |
Size in bytes with value_alignment. | |
static constexpr const size_t | components = 4 |
Number of value_type components. | |
static constexpr const value_type | one = value_type(1) |
static constexpr int | value_alignment = sizeof(value_type) |
value alignment is sizeof(value_type) | |
static constexpr const value_type | zero = value_type(0) |
4D vector using four value_type components.
Component and overall alignment is natural as sizeof(value_type), i.e. sizeof(value_type) == alignof(value_type)
typedef Value_type jau::math::Vector4F< Value_type, >::value_type |
typedef value_type* jau::math::Vector4F< Value_type, >::pointer |
typedef const value_type* jau::math::Vector4F< Value_type, >::const_pointer |
typedef value_type& jau::math::Vector4F< Value_type, >::reference |
typedef const value_type& jau::math::Vector4F< Value_type, >::const_reference |
typedef value_type* jau::math::Vector4F< Value_type, >::iterator |
typedef const value_type* jau::math::Vector4F< Value_type, >::const_iterator |
typedef Vector3F<value_type, std::is_floating_point_v<Value_type> > jau::math::Vector4F< Value_type, >::Vec3 |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
constexprdefaultnoexcept |
|
constexprdefaultnoexcept |
|
constexprdefaultnoexcept |
|
constexprdefaultnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineexplicitnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineexplicitnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Return the squared distance between this vector and the given one.
When comparing the relative distance between two points it is usually sufficient to compare the squared distances, thus avoiding an expensive square root operation.
Definition at line 246 of file vec4f.hpp.
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
staticconstexpr |
|
staticconstexpr |
Number of value_type components.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
value_type jau::math::Vector4F< Value_type, >::x |
value_type jau::math::Vector4F< Value_type, >::y |
value_type jau::math::Vector4F< Value_type, >::z |
value_type jau::math::Vector4F< Value_type, >::w |