|
|
| Vec2 () |
| | default constructor: the vector content is undefined.
|
| |
|
constexpr | Vec2 (T X, T Y) |
| | Constructor with explicit initialization.
|
| |
|
| Vec2 (const Vec2 &v)=default |
| | Default copy constructor.
|
| |
|
Vec2 & | operator= (const Vec2 &V)=default |
| | Default assignment operator.
|
| |
| template<typename U > |
| | operator Vec2< U > () const |
| | Explicit conversion to another vector with different integral type. More...
|
| |
|
| operator Vec2< typename DefaultFPType< T >::fptype > () const |
| | Implicit conversion to floating-point type vector.
|
| |
| bool | operator== (const Vec2 V) const |
| | Equality comparator. More...
|
| |
|
bool | operator!= (const Vec2 V) const |
| | Inequality operator.
|
| |
| bool | operator< (const Vec2 V) const |
| | Less-than comparison operator. More...
|
| |
| bool | operator<= (const Vec2 V) const |
| | Less-than-or-equal comparison operator. More...
|
| |
| bool | operator> (const Vec2 V) const |
| | Greater-than comparison operator. More...
|
| |
| bool | operator>= (const Vec2 V) const |
| | Greater-than-or-equal comparison operator. More...
|
| |
|
void | operator+= (const Vec2 V) |
| | Add another vector to this one.
|
| |
|
void | operator-= (const Vec2 V) |
| | Substract another vector from this one.
|
| |
|
void | operator*= (const Vec2 V) |
| | Multiply this vector by another one (coordinate by coordinate multiplication).
|
| |
|
void | operator/= (const Vec2 V) |
| | Divide this vector by another one (coordinate by coordinate division).
|
| |
| void | operator+= (const T &v) |
| | scalar addition. More...
|
| |
| void | operator-= (const T &v) |
| | scalar substraction. More...
|
| |
| void | operator*= (const T &v) |
| | scalar multiplication. More...
|
| |
| void | operator/= (const T &v) |
| | scalar division. More...
|
| |
|
Vec2 | operator- () const |
| | unary negation operator
|
| |
| T | norm2 () const |
| | Compute the squared euclidian norm of the vector. More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| Tfloat | norm () const |
| | Compute the euclidian norm of the vector. More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| Tfloat | norm_fast () const |
| | Compute the euclidian norm of the vector. More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| Tfloat | invnorm () const |
| | Compute the inverse of the euclidian norm of the vector. More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| Tfloat | invnorm_fast () const |
| | Compute the inverse of the euclidian norm of the vector. More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| void | normalize () |
| | Normalise the vector so that its norm is 1 (do nothing if the vector is 0). More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| void | normalize_fast () |
| | Normalise the vector so that its norm is 1 (do nothing if the vector is 0). More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| Vec2< T > | getNormalize () const |
| | Return the vector normalized to have unit norm (do nothing if the vector is 0). More...
|
| |
| template<typename Tfloat = typename DefaultFPType<T>::fptype> |
| Vec2< T > | getNormalize_fast () const |
| | Return the vector normalized to have unit norm (do nothing if the vector is 0). More...
|
| |
|
void | rotate90 () |
| | Rotate this vector by +90 degree (anti-clockise).
|
| |
|
Vec2< T > | getRotate90 () const |
| | Return the vector obtained after rotation by +90 degree (anti-clockise).
|
| |
| int | leftOf (Vec2< T > LA, Vec2< T > LB) const |
| | Determine which half-space delimited by the line (LA,LB) the point represented by this vector belongs. More...
|
| |
| bool | setAsIntersection (Vec2< T > LA1, Vec2< T > LA2, Vec2< T > LB1, Vec2< T > LB2) |
| | Set this vector as the intersection of the two lines (LA1,LA2) and (LB1,LB2). More...
|
| |
template<typename T>
struct tgx::Vec2< T >
Generic 2D vector [specializations iVec2, fVec2, dVec2].
The class contains two public member variables x and y which define the 2D vector (x,y).
- Template Parameters
-
| `T` | arithmetic type of the vector (int, float...) |
- See also
Vec3,Vec4