jaulib v1.3.6
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
jau::math::Vector3F< Value_type, > Class Template Reference

3D vector using three value_type components. More...

#include <vec3f.hpp>

Inheritance diagram for jau::math::Vector3F< Value_type, >:
Collaboration diagram for jau::math::Vector3F< Value_type, >:

Public Types

typedef const value_typeconst_iterator
 
typedef const value_typeconst_pointer
 
typedef const value_typeconst_reference
 
typedef value_typeiterator
 
typedef value_typepointer
 
typedef value_typereference
 
typedef Value_type value_type
 
typedef Vector2F< value_type, std::is_floating_point_v< Value_type > > Vec2
 

Public Member Functions

constexpr Vector3F () noexcept
 
constexpr Vector3F (const value_type v) noexcept
 
constexpr Vector3F (const value_type x_, const value_type y_, const value_type z_) noexcept
 
constexpr Vector3F (const Vec2 &o2, const value_type z_) noexcept
 
constexpr Vector3F (const Vector3F &o) noexcept=default
 
constexpr Vector3F (const_iterator v) noexcept
 
constexpr Vector3F (std::initializer_list< value_type > v) noexcept
 
constexpr Vector3F (Vector3F &&o) noexcept=default
 
constexpr Vector3Fadd (const value_type dx, const value_type dy, const value_type dz) noexcept
 this = this + {dx, dy, dz}, returns this.
 
constexpr_cxx26 value_type angle (const Vector3F &o) const noexcept
 Return the angle between to vectors in radians.
 
constexpr iterator begin () noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr Vector3F copy () noexcept
 
constexpr value_type cos_angle (const Vector3F &o) const noexcept
 Return the cosines of the angle between to vectors.
 
constexpr Vector3Fcross (const Vector3F &a, const Vector3F &b) noexcept
 cross product this = a x b, with a, b different from this
 
constexpr Vector3F cross (const Vector3F &b) const noexcept
 cross product this x b
 
constexpr value_type dist (const Vector3F &o) const noexcept
 Return the distance between this vector and the given one.
 
constexpr value_type dist_sq (const Vector3F &o) const noexcept
 Return the squared distance between this vector and the given one.
 
constexpr value_type dot (const Vector3F &o) const noexcept
 Return the dot product of this vector and the given one.
 
constexpr bool equals (const Vector3F &o, const value_type epsilon=std::numeric_limits< value_type >::epsilon()) const noexcept
 
constexpr iterator get (iterator xyz) const noexcept
 xyz = this, returns xyz.
 
constexpr_cxx23 bool intersects (const Vector3F &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 Vector3Fmul (const value_type sx, const value_type sy, const value_type sz) noexcept
 this = this * {sx, sy, sz}, returns this.
 
constexpr Vector3Fnormalize () noexcept
 Normalize this vector in place.
 
 operator const_pointer () const noexcept
 
 operator pointer () noexcept
 
constexpr Vector3Foperator*= (const value_type s) noexcept
 Scale this vector with given scale factor.
 
constexpr Vector3Foperator+= (const Vector3F &rhs) noexcept
 this = this + rhs, returns this.
 
constexpr Vector3Foperator-= (const Vector3F &rhs) noexcept
 this = this - rhs, returns this.
 
constexpr Vector3Foperator/= (const value_type s) noexcept
 Divide this vector with given scale factor.
 
constexpr Vector3Foperator= (const Vector3F &) noexcept=default
 
constexpr Vector3Foperator= (Vector3F &&) noexcept=default
 
constexpr bool operator== (const Vector3F &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_cxx26 Vector3FrotateZ (const value_type radians) noexcept
 Rotates this vector around the Z-axis in place, returns *this.
 
constexpr Vector3FrotateZ (const value_type sin, const value_type cos) noexcept
 Rotates this vector in place, returns *this.
 
constexpr Vector3Fscale (const value_type s) noexcept
 this = this * s, returns this.
 
constexpr Vector3Fset (const value_type vx, const value_type vy, const value_type vz) noexcept
 
constexpr Vector3Fset (const Vec2f &o, const value_type z_) noexcept
 TODO constexpr bool operator<=>(const vec3f_t& rhs ) const noexcept { return ... }.
 
constexpr Vector3Fset (const_iterator xyz) noexcept
 this = xyz, returns this.
 
std::string toString () const noexcept
 

Public Attributes

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 = 3
 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)
 

Detailed Description

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
class jau::math::Vector3F< Value_type, >

3D vector using three value_type components.

Component and overall alignment is natural as sizeof(value_type), i.e. sizeof(value_type) == alignof(value_type)

Definition at line 57 of file vec3f.hpp.

Member Typedef Documentation

◆ value_type

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef Value_type jau::math::Vector3F< Value_type, >::value_type

Definition at line 59 of file vec3f.hpp.

◆ pointer

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef value_type* jau::math::Vector3F< Value_type, >::pointer

Definition at line 60 of file vec3f.hpp.

◆ const_pointer

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef const value_type* jau::math::Vector3F< Value_type, >::const_pointer

Definition at line 61 of file vec3f.hpp.

◆ reference

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef value_type& jau::math::Vector3F< Value_type, >::reference

Definition at line 62 of file vec3f.hpp.

◆ const_reference

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef const value_type& jau::math::Vector3F< Value_type, >::const_reference

Definition at line 63 of file vec3f.hpp.

◆ iterator

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef value_type* jau::math::Vector3F< Value_type, >::iterator

Definition at line 64 of file vec3f.hpp.

◆ const_iterator

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef const value_type* jau::math::Vector3F< Value_type, >::const_iterator

Definition at line 65 of file vec3f.hpp.

◆ Vec2

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
typedef Vector2F<value_type, std::is_floating_point_v<Value_type> > jau::math::Vector3F< Value_type, >::Vec2

Definition at line 76 of file vec3f.hpp.

Constructor & Destructor Documentation

◆ Vector3F() [1/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( )
inlineconstexprnoexcept

Definition at line 85 of file vec3f.hpp.

Here is the caller graph for this function:

◆ Vector3F() [2/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( const value_type v)
inlineconstexprnoexcept

Definition at line 88 of file vec3f.hpp.

◆ Vector3F() [3/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( const value_type x_,
const value_type y_,
const value_type z_ )
inlineconstexprnoexcept

Definition at line 91 of file vec3f.hpp.

◆ Vector3F() [4/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( const Vec2 & o2,
const value_type z_ )
inlineconstexprnoexcept

Definition at line 94 of file vec3f.hpp.

◆ Vector3F() [5/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( const_iterator v)
inlineconstexprnoexcept

Definition at line 97 of file vec3f.hpp.

◆ Vector3F() [6/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( std::initializer_list< value_type > v)
inlineconstexprnoexcept

Definition at line 100 of file vec3f.hpp.

◆ Vector3F() [7/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( const Vector3F< Value_type, > & o)
constexprdefaultnoexcept

◆ Vector3F() [8/8]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::Vector3F ( Vector3F< Value_type, > && o)
constexprdefaultnoexcept

Member Function Documentation

◆ operator=() [1/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::operator= ( const Vector3F< Value_type, > & )
constexprdefaultnoexcept

◆ operator=() [2/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::operator= ( Vector3F< Value_type, > && )
constexprdefaultnoexcept

◆ copy()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F jau::math::Vector3F< Value_type, >::copy ( )
inlineconstexprnoexcept

Definition at line 108 of file vec3f.hpp.

◆ operator[]() [1/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::operator[] ( size_t i) const
inlineconstexprnoexcept

Returns read-only component.

Definition at line 111 of file vec3f.hpp.

◆ operator const_pointer()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::operator const_pointer ( ) const
inlineexplicitnoexcept

Definition at line 116 of file vec3f.hpp.

◆ cbegin()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
const_iterator jau::math::Vector3F< Value_type, >::cbegin ( ) const
inlineconstexprnoexcept

Definition at line 117 of file vec3f.hpp.

Here is the caller graph for this function:

◆ operator[]() [2/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
reference jau::math::Vector3F< Value_type, >::operator[] ( size_t i)
inlineconstexprnoexcept

Returns writeable reference to component.

Definition at line 120 of file vec3f.hpp.

◆ operator pointer()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
jau::math::Vector3F< Value_type, >::operator pointer ( )
inlineexplicitnoexcept

Definition at line 125 of file vec3f.hpp.

◆ begin()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
iterator jau::math::Vector3F< Value_type, >::begin ( )
inlineconstexprnoexcept

Definition at line 126 of file vec3f.hpp.

◆ get()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
iterator jau::math::Vector3F< Value_type, >::get ( iterator xyz) const
inlineconstexprnoexcept

xyz = this, returns xyz.

Definition at line 129 of file vec3f.hpp.

Here is the caller graph for this function:

◆ equals()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
bool jau::math::Vector3F< Value_type, >::equals ( const Vector3F< Value_type, > & o,
const value_type epsilon = std::numeric_limits<value_type>::epsilon() ) const
inlineconstexprnoexcept

Definition at line 132 of file vec3f.hpp.

Here is the caller graph for this function:

◆ operator==()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
bool jau::math::Vector3F< Value_type, >::operator== ( const Vector3F< Value_type, > & rhs) const
inlineconstexprnoexcept

Definition at line 141 of file vec3f.hpp.

◆ set() [1/3]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::set ( const Vec2f & o,
const value_type z_ )
inlineconstexprnoexcept

TODO constexpr bool operator<=>(const vec3f_t& rhs ) const noexcept { return ... }.

this = { o, z }, returns this.

Definition at line 150 of file vec3f.hpp.

Here is the caller graph for this function:

◆ set() [2/3]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::set ( const value_type vx,
const value_type vy,
const value_type vz )
inlineconstexprnoexcept

Definition at line 157 of file vec3f.hpp.

◆ set() [3/3]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::set ( const_iterator xyz)
inlineconstexprnoexcept

this = xyz, returns this.

Definition at line 161 of file vec3f.hpp.

◆ add()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::add ( const value_type dx,
const value_type dy,
const value_type dz )
inlineconstexprnoexcept

this = this + {dx, dy, dz}, returns this.

Definition at line 165 of file vec3f.hpp.

◆ mul()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::mul ( const value_type sx,
const value_type sy,
const value_type sz )
inlineconstexprnoexcept

this = this * {sx, sy, sz}, returns this.

Definition at line 169 of file vec3f.hpp.

◆ scale()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::scale ( const value_type s)
inlineconstexprnoexcept

this = this * s, returns this.

Definition at line 173 of file vec3f.hpp.

◆ operator+=()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::operator+= ( const Vector3F< Value_type, > & rhs)
inlineconstexprnoexcept

this = this + rhs, returns this.

Definition at line 177 of file vec3f.hpp.

◆ operator-=()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::operator-= ( const Vector3F< Value_type, > & rhs)
inlineconstexprnoexcept

this = this - rhs, returns this.

Definition at line 183 of file vec3f.hpp.

◆ operator*=()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::operator*= ( const value_type s)
inlineconstexprnoexcept

Scale this vector with given scale factor.

Parameters
sscale factor
Returns
this instance

Definition at line 193 of file vec3f.hpp.

◆ operator/=()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::operator/= ( const value_type s)
inlineconstexprnoexcept

Divide this vector with given scale factor.

Parameters
sscale factor
Returns
this instance

Definition at line 203 of file vec3f.hpp.

◆ rotateZ() [1/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
constexpr_cxx26 Vector3F & jau::math::Vector3F< Value_type, >::rotateZ ( const value_type radians)
inlinenoexcept

Rotates this vector around the Z-axis in place, returns *this.

Definition at line 209 of file vec3f.hpp.

Here is the caller graph for this function:

◆ rotateZ() [2/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::rotateZ ( const value_type sin,
const value_type cos )
inlineconstexprnoexcept

Rotates this vector in place, returns *this.

Definition at line 214 of file vec3f.hpp.

◆ toString()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
std::string jau::math::Vector3F< Value_type, >::toString ( ) const
inlinenoexcept

Definition at line 221 of file vec3f.hpp.

◆ is_zero()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
bool jau::math::Vector3F< Value_type, >::is_zero ( ) const
inlineconstexprnoexcept

Definition at line 223 of file vec3f.hpp.

◆ length_sq()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::length_sq ( ) const
inlineconstexprnoexcept

Return the squared length of a vector, a.k.a the squared norm or squared magnitude

Definition at line 230 of file vec3f.hpp.

Here is the caller graph for this function:

◆ length()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::length ( ) const
inlineconstexprnoexcept

Return the length of a vector, a.k.a the norm or magnitude

Definition at line 237 of file vec3f.hpp.

Here is the caller graph for this function:

◆ normalize()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::normalize ( )
inlineconstexprnoexcept

Normalize this vector in place.

Definition at line 244 of file vec3f.hpp.

Here is the caller graph for this function:

◆ dist_sq()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::dist_sq ( const Vector3F< Value_type, > & o) const
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 266 of file vec3f.hpp.

Here is the caller graph for this function:

◆ dist()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::dist ( const Vector3F< Value_type, > & o) const
inlineconstexprnoexcept

Return the distance between this vector and the given one.

Definition at line 276 of file vec3f.hpp.

Here is the caller graph for this function:

◆ dot()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::dot ( const Vector3F< Value_type, > & o) const
inlineconstexprnoexcept

Return the dot product of this vector and the given one.

Returns
the dot product as value_type

Definition at line 284 of file vec3f.hpp.

Here is the caller graph for this function:

◆ cross() [1/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F jau::math::Vector3F< Value_type, >::cross ( const Vector3F< Value_type, > & b) const
inlineconstexprnoexcept

cross product this x b

Returns
new resulting vector

Definition at line 292 of file vec3f.hpp.

Here is the caller graph for this function:

◆ cross() [2/2]

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
Vector3F & jau::math::Vector3F< Value_type, >::cross ( const Vector3F< Value_type, > & a,
const Vector3F< Value_type, > & b )
inlineconstexprnoexcept

cross product this = a x b, with a, b different from this

Returns
this for chaining

Definition at line 302 of file vec3f.hpp.

◆ cos_angle()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::cos_angle ( const Vector3F< Value_type, > & o) const
inlineconstexprnoexcept

Return the cosines of the angle between to vectors.

Parameters
vec1vector 1
vec2vector 2

Definition at line 314 of file vec3f.hpp.

Here is the caller graph for this function:

◆ angle()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
constexpr_cxx26 value_type jau::math::Vector3F< Value_type, >::angle ( const Vector3F< Value_type, > & o) const
inlinenoexcept

Return the angle between to vectors in radians.

Parameters
vec1vector 1
vec2vector 2

Definition at line 323 of file vec3f.hpp.

Here is the caller graph for this function:

◆ intersects()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
constexpr_cxx23 bool jau::math::Vector3F< Value_type, >::intersects ( const Vector3F< Value_type, > & o) const
inlinenoexcept

Definition at line 327 of file vec3f.hpp.

Member Data Documentation

◆ value_alignment

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
int jau::math::Vector3F< Value_type, >::value_alignment = sizeof(value_type)
staticconstexpr

value alignment is sizeof(value_type)

Definition at line 68 of file vec3f.hpp.

◆ components

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
const size_t jau::math::Vector3F< Value_type, >::components = 3
staticconstexpr

Number of value_type components.

Definition at line 71 of file vec3f.hpp.

◆ byte_size

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
const size_t jau::math::Vector3F< Value_type, >::byte_size = components * sizeof(value_type)
staticconstexpr

Size in bytes with value_alignment.

Definition at line 74 of file vec3f.hpp.

◆ zero

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
const value_type jau::math::Vector3F< Value_type, >::zero = value_type(0)
staticconstexpr

Definition at line 78 of file vec3f.hpp.

◆ one

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
const value_type jau::math::Vector3F< Value_type, >::one = value_type(1)
staticconstexpr

Definition at line 79 of file vec3f.hpp.

◆ x

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::x

Definition at line 81 of file vec3f.hpp.

◆ y

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::y

Definition at line 82 of file vec3f.hpp.

◆ z

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type > &&sizeof(Value_type)==alignof(Value_type), bool > = true>
value_type jau::math::Vector3F< Value_type, >::z

Definition at line 83 of file vec3f.hpp.


The documentation for this class was generated from the following file: