Warning
This page refers to an old version of SFML. Click here to switch to the latest version.
Warning
This page refers to an old version of SFML. Click here to switch to the latest version.
Utility template class for manipulating 3-dimensional vectors. More...
#include <SFML/System/Vector3.hpp>
Public Member Functions | |
| Vector3 () | |
| Default constructor. | |
| Vector3 (T X, T Y, T Z) | |
| Construct the vector from its coordinates. | |
| template<typename U> | |
| Vector3 (const Vector3< U > &vector) | |
| Construct the vector from another type of vector. | |
Public Attributes | |
| T | x |
| X coordinate of the vector. | |
| T | y |
| Y coordinate of the vector. | |
| T | z |
| Z coordinate of the vector. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| template<typename T> | |
| Vector3< T > | operator- (const Vector3< T > &left) |
| Overload of unary operator -. | |
| template<typename T> | |
| Vector3< T > & | operator+= (Vector3< T > &left, const Vector3< T > &right) |
| Overload of binary operator +=. | |
| template<typename T> | |
| Vector3< T > & | operator-= (Vector3< T > &left, const Vector3< T > &right) |
| Overload of binary operator -=. | |
| template<typename T> | |
| Vector3< T > | operator+ (const Vector3< T > &left, const Vector3< T > &right) |
| Overload of binary operator +. | |
| template<typename T> | |
| Vector3< T > | operator- (const Vector3< T > &left, const Vector3< T > &right) |
| Overload of binary operator -. | |
| template<typename T> | |
| Vector3< T > | operator* (const Vector3< T > &left, T right) |
| Overload of binary operator *. | |
| template<typename T> | |
| Vector3< T > | operator* (T left, const Vector3< T > &right) |
| Overload of binary operator *. | |
| template<typename T> | |
| Vector3< T > & | operator*= (Vector3< T > &left, T right) |
| Overload of binary operator *=. | |
| template<typename T> | |
| Vector3< T > | operator/ (const Vector3< T > &left, T right) |
| Overload of binary operator /. | |
| template<typename T> | |
| Vector3< T > & | operator/= (Vector3< T > &left, T right) |
| Overload of binary operator /=. | |
| template<typename T> | |
| bool | operator== (const Vector3< T > &left, const Vector3< T > &right) |
| Overload of binary operator ==. | |
| template<typename T> | |
| bool | operator!= (const Vector3< T > &left, const Vector3< T > &right) |
| Overload of binary operator !=. | |
Utility template class for manipulating 3-dimensional vectors.
sf::Vector3 is a simple class that defines a mathematical vector with three coordinates (x, y and z).
It can be used to represent anything that has three 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::Vector3<T>), the most common specializations have special typedefs:
The sf::Vector3 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:
Note: for 2-dimensional vectors, see sf::Vector2.
Definition at line 37 of file Vector3.hpp.
| sf::Vector3< T >::Vector3 | ( | ) |
Default constructor.
Creates a Vector3(0, 0, 0).
| sf::Vector3< T >::Vector3 | ( | T | X, |
| T | Y, | ||
| T | Z ) |
Construct the vector from its coordinates.
| X | X coordinate |
| Y | Y coordinate |
| Z | Z coordinate |
|
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.
| vector | Vector to convert |
Overload of binary operator !=.
This operator compares strict difference between two vectors.
| left | Left operand (a vector) |
| right | Right operand (a vector) |
Overload of binary operator *.
| left | Left operand (a vector) |
| right | Right operand (a scalar value) |
Overload of binary operator *.
| left | Left operand (a scalar value) |
| right | Right operand (a vector) |
Overload of binary operator *=.
This operator performs a memberwise multiplication by right, and assigns the result to left.
| left | Left operand (a vector) |
| right | Right operand (a scalar value) |
|
Overload of binary operator +.
| left | Left operand (a vector) |
| right | Right operand (a vector) |
Overload of binary operator +=.
This operator performs a memberwise addition of both vectors, and assigns the result to left.
| left | Left operand (a vector) |
| right | Right operand (a vector) |
Overload of unary operator -.
| left | Vector to negate |
|
Overload of binary operator -.
| left | Left operand (a vector) |
| right | Right operand (a vector) |
Overload of binary operator -=.
This operator performs a memberwise subtraction of both vectors, and assigns the result to left.
| left | Left operand (a vector) |
| right | Right operand (a vector) |
Overload of binary operator /.
| left | Left operand (a vector) |
| right | Right operand (a scalar value) |
Overload of binary operator /=.
This operator performs a memberwise division by right, and assigns the result to left.
| left | Left operand (a vector) |
| right | Right operand (a scalar value) |
Overload of binary operator ==.
This operator compares strict equality between two vectors.
| left | Left operand (a vector) |
| right | Right operand (a vector) |
| T sf::Vector3< T >::x |
X coordinate of the vector.
Definition at line 76 of file Vector3.hpp.
| T sf::Vector3< T >::y |
Y coordinate of the vector.
Definition at line 77 of file Vector3.hpp.
| T sf::Vector3< T >::z |
Z coordinate of the vector.
Definition at line 78 of file Vector3.hpp.