Documentation de SFML 2.6.1

Searching...
No Matches
sf::Vector2< T > Class Template Reference

Utility template class for manipulating 2-dimensional vectors. More...

#include <SFML/System/Vector2.hpp>

Public Member Functions

Vector2 ()
Default constructor.

Vector2 (T X, T Y)
Construct the vector from its coordinates.

template<typename U >
Vector2 (const Vector2< U > &vector)
Construct the vector from another type of vector.

Public Attributes

x
X coordinate of the vector.

y
Y coordinate of the vector.

Related Symbols

(Note that these are not member symbols.)

template<typename T >
Vector2< T > operator- (const Vector2< T > &right)

template<typename T >
Vector2< T > & operator+= (Vector2< T > &left, const Vector2< T > &right)

template<typename T >
Vector2< T > & operator-= (Vector2< T > &left, const Vector2< T > &right)

template<typename T >
Vector2< T > operator+ (const Vector2< T > &left, const Vector2< T > &right)

template<typename T >
Vector2< T > operator- (const Vector2< T > &left, const Vector2< T > &right)

template<typename T >
Vector2< T > operator* (const Vector2< T > &left, T right)

template<typename T >
Vector2< T > operator* (T left, const Vector2< T > &right)

template<typename T >
Vector2< T > & operator*= (Vector2< T > &left, T right)

template<typename T >
Vector2< T > operator/ (const Vector2< T > &left, T right)

template<typename T >
Vector2< T > & operator/= (Vector2< T > &left, T right)

template<typename T >
bool operator== (const Vector2< T > &left, const Vector2< T > &right)

template<typename T >
bool operator!= (const Vector2< T > &left, const Vector2< T > &right)

Detailed Description

template<typename T>
class sf::Vector2< T >

Utility template class for manipulating 2-dimensional vectors.

sf::Vector2 is a simple class that defines a mathematical vector with two coordinates (x and y).

It can be used to represent anything that has two dimensions: a size, a point, a velocity, etc.

The template parameter T is the type of the coordinates. It can be any type that supports arithmetic operations (+, -, /, *) and comparisons (==, !=), for example int or float.

You generally don't have to care about the templated form (sf::Vector2<T>), the most common specializations have special typedefs:

• sf::Vector2<float> is sf::Vector2f
• sf::Vector2<int> is sf::Vector2i
• sf::Vector2<unsigned int> is sf::Vector2u

The sf::Vector2 class has a small and simple interface, its x and y members can be accessed directly (there are no accessors like setX(), getX()) and it contains no mathematical function like dot product, cross product, length, etc.

Usage example:

sf::Vector2f v1(16.5f, 24.f);
v1.x = 18.2f;
float y = v1.y;
sf::Vector2f v2 = v1 * 5.f;
v3 = v1 + v2;
bool different = (v2 != v3);
T y
Y coordinate of the vector.
Definition Vector2.hpp:76

Note: for 3-dimensional vectors, see sf::Vector3.

Definition at line 37 of file Vector2.hpp.

◆ Vector2() [1/3]

template<typename T >
 sf::Vector2< T >::Vector2 ( )

Default constructor.

Creates a Vector2(0, 0).

◆ Vector2() [2/3]

template<typename T >
 sf::Vector2< T >::Vector2 ( T X, T Y )

Construct the vector from its coordinates.

Parameters
 X X coordinate Y Y coordinate

◆ Vector2() [3/3]

template<typename T >
template<typename U >
 sf::Vector2< T >::Vector2 ( const Vector2< U > & vector )
explicit

Construct the vector from another type of vector.

This constructor doesn't replace the copy constructor, it's called only when U != T. A call to this constructor will fail to compile if U is not convertible to T.

Parameters
 vector Vector to convert

◆ operator!=()

template<typename T >
 bool operator!= ( const Vector2< T > & left, const Vector2< T > & right )
related

This operator compares strict difference between two vectors.

Parameters
 left Left operand (a vector) right Right operand (a vector)
Returns
True if left is not equal to right

◆ operator*() [1/2]

template<typename T >
 Vector2< T > operator* ( const Vector2< T > & left, T right )
related

Parameters
 left Left operand (a vector) right Right operand (a scalar value)
Returns
Memberwise multiplication by right

◆ operator*() [2/2]

template<typename T >
 Vector2< T > operator* ( T left, const Vector2< T > & right )
related

Parameters
 left Left operand (a scalar value) right Right operand (a vector)
Returns
Memberwise multiplication by left

◆ operator*=()

template<typename T >
 Vector2< T > & operator*= ( Vector2< T > & left, T right )
related

This operator performs a memberwise multiplication by right, and assigns the result to left.

Parameters
 left Left operand (a vector) right Right operand (a scalar value)
Returns
Reference to left

◆ operator+()

template<typename T >
 Vector2< T > operator+ ( const Vector2< T > & left, const Vector2< T > & right )
related

Parameters
 left Left operand (a vector) right Right operand (a vector)
Returns

◆ operator+=()

template<typename T >
 Vector2< T > & operator+= ( Vector2< T > & left, const Vector2< T > & right )
related

This operator performs a memberwise addition of both vectors, and assigns the result to left.

Parameters
 left Left operand (a vector) right Right operand (a vector)
Returns
Reference to left

◆ operator-() [1/2]

template<typename T >
 Vector2< T > operator- ( const Vector2< T > & left, const Vector2< T > & right )
related

Parameters
 left Left operand (a vector) right Right operand (a vector)
Returns
Memberwise subtraction of both vectors

◆ operator-() [2/2]

template<typename T >
 Vector2< T > operator- ( const Vector2< T > & right )
related

Parameters
 right Vector to negate
Returns
Memberwise opposite of the vector

◆ operator-=()

template<typename T >
 Vector2< T > & operator-= ( Vector2< T > & left, const Vector2< T > & right )
related

This operator performs a memberwise subtraction of both vectors, and assigns the result to left.

Parameters
 left Left operand (a vector) right Right operand (a vector)
Returns
Reference to left

◆ operator/()

template<typename T >
 Vector2< T > operator/ ( const Vector2< T > & left, T right )
related

Parameters
 left Left operand (a vector) right Right operand (a scalar value)
Returns
Memberwise division by right

◆ operator/=()

template<typename T >
 Vector2< T > & operator/= ( Vector2< T > & left, T right )
related

This operator performs a memberwise division by right, and assigns the result to left.

Parameters
 left Left operand (a vector) right Right operand (a scalar value)
Returns
Reference to left

◆ operator==()

template<typename T >
 bool operator== ( const Vector2< T > & left, const Vector2< T > & right )
related

This operator compares strict equality between two vectors.

Parameters
 left Left operand (a vector) right Right operand (a vector)
Returns
True if left is equal to right

◆ x

template<typename T >
 T sf::Vector2< T >::x

X coordinate of the vector.

Definition at line 75 of file Vector2.hpp.

◆ y

template<typename T >
 T sf::Vector2< T >::y

Y coordinate of the vector.

Definition at line 76 of file Vector2.hpp.

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