Maria GDK 5.0.0.737
Documentation of native code in develop branch
Loading...
Searching...
No Matches
STK::Vector2< Type > Class Template Reference

#include <StkVector2.h>

Public Member Functions

constexpr Vector2 (const Type x, const Type y)
 
template<typename U , STK::enable_if_safe_cast_t< U, Type > = true>
constexpr Vector2 (const Vector2< U > &v)
 
template<typename U >
constexpr operator Vector2< U > () const
 
constexpr const Type & x () const
 
constexpr const Type & y () const
 
constexpr ranges::span< const Type, 2 > data () const
 
constexpr Type & x ()
 
constexpr Type & y ()
 
constexpr ranges::span< Type, 2 > data ()
 
constexpr void setX (Type x)
 
constexpr void setY (Type y)
 
constexpr bool fuzzyCompare (const Vector2 &v2, Type eps) const
 
constexpr void setValues (const Type x, const Type y)
 
constexpr void setValues (const ranges::span< const Type, 2 > v)
 
constexpr void getValues (ranges::span< Type, 2 > v) const
 
constexpr void scale (Type s)
 
constexpr void add (const Vector2 &t)
 
constexpr Type lengthSquared () const
 Length squared.
 
constexpr Type length () const
 
constexpr Vector2normalize ()
 Normalization.
 
constexpr Vector2operator+= (const Vector2 &v)
 Addition.
 
constexpr Vector2operator-= (const Vector2 &v)
 Subtraction.
 
constexpr Vector2 operator- () const
 Unary negation.
 
constexpr Vector2operator*= (Type v)
 Scalar multiplication.
 
constexpr Vector2operator/= (Type v)
 Scalar division.
 

Static Public Member Functions

static constexpr Type angle (const Vector2 &v1, const Vector2 &v2)
 Computing angle between two vectors (in radians)
 
static constexpr Type dot (const Vector2 &v1, const Vector2 &v2)
 Computing dot product.
 
static constexpr Type cross (const Vector2 &v1, const Vector2 &v2)
 Computing 2D cross product (scalar).
 

Static Public Attributes

static constexpr std::size_t vector_size = 2
 

Protected Attributes

std::array< Type, 2 > data_ { 0, 0 }
 

Friends

constexpr bool operator== (const Vector2 &t1, const Vector2 &t2)
 
constexpr bool operator!= (const Vector2 &t1, const Vector2 &t2)
 
constexpr friend std::ostream & operator<< (std::ostream &os, const Vector2 &t)
 
constexpr Vector2 operator+ (const Vector2 &v1, const Vector2 &v2)
 Addition.
 
constexpr Vector2 operator- (const Vector2 &v1, const Vector2 &v2)
 Subtraction.
 
constexpr Vector2 operator* (const Vector2 &v, Type s)
 Scalar multiplication.
 
constexpr Vector2 operator* (Type s, const Vector2 &v)
 
constexpr Vector2 operator/ (const Vector2 &v, Type s)
 Scalar division.
 

Detailed Description

template<class Type>
class STK::Vector2< Type >

Vector2 - Generic 3D Vector.


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