SFML - Simple and Fast Multimedia Library

SFML 2.6.2
Loading...
Searching...
No Matches
Vector3.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef SFML_VECTOR3_HPP
26#define SFML_VECTOR3_HPP
27
28
29namespace sf
30{
36template <typename T>
37 class Vector3
38{
39public:
40
47 Vector3();
48
57 Vector3(T X, T Y, T Z);
58
70 template <typename U>
71 explicit Vector3(const Vector3<U>& vector);
72
74 // Member data
76 T x;
77 T y;
78 T z;
79};
80
90template <typename T>
91 Vector3<T> operator -(const Vector3<T>& left);
92
106template <typename T>
107 Vector3<T>& operator +=(Vector3<T>& left, const Vector3<T>& right);
108
122template <typename T>
123 Vector3<T>& operator -=(Vector3<T>& left, const Vector3<T>& right);
124
135template <typename T>
136 Vector3<T> operator +(const Vector3<T>& left, const Vector3<T>& right);
137
148template <typename T>
149 Vector3<T> operator -(const Vector3<T>& left, const Vector3<T>& right);
150
161template <typename T>
162 Vector3<T> operator *(const Vector3<T>& left, T right);
163
174template <typename T>
175 Vector3<T> operator *(T left, const Vector3<T>& right);
176
190template <typename T>
191 Vector3<T>& operator *=(Vector3<T>& left, T right);
192
203template <typename T>
204 Vector3<T> operator /(const Vector3<T>& left, T right);
205
219template <typename T>
220 Vector3<T>& operator /=(Vector3<T>& left, T right);
221
234template <typename T>
235 bool operator ==(const Vector3<T>& left, const Vector3<T>& right);
236
249template <typename T>
250 bool operator !=(const Vector3<T>& left, const Vector3<T>& right);
251
252#include <SFML/System/Vector3.inl>
253
254// Define the most common types
255 typedef Vector3<int> Vector3i;
256 typedef Vector3<float> Vector3f;
257
258} // namespace sf
259
260
261#endif // SFML_VECTOR3_HPP
262
263
sf::Color::operator+
Color operator+(const Color &left, const Color &right)
Overload of the binary + operator.
sf::Color::operator*
Color operator*(const Color &left, const Color &right)
Overload of the binary * operator.
sf::Color::operator-
Color operator-(const Color &left, const Color &right)
Overload of the binary - operator.
sf::Color::operator-=
Color & operator-=(Color &left, const Color &right)
Overload of the binary -= operator.
sf::Color::operator*=
Color & operator*=(Color &left, const Color &right)
Overload of the binary *= operator.
sf::Color::operator+=
Color & operator+=(Color &left, const Color &right)
Overload of the binary += operator.
sf::Time::operator/
Time operator/(Time left, float right)
Overload of binary / operator to scale a time value.
sf::Time::operator/=
Time & operator/=(Time &left, float right)
Overload of binary /= operator to scale/assign a time value.
sf::Vector3
Utility template class for manipulating 3-dimensional vectors.
Definition Vector3.hpp:38
sf::Vector3< float >::z
float z
Definition Vector3.hpp:78
sf::Vector3< float >::x
float x
Definition Vector3.hpp:76
sf::Vector3< float >::y
float y
Definition Vector3.hpp:77
sf::Vector3::Vector3
Vector3(T X, T Y, T Z)
Construct the vector from its coordinates.
sf::Vector3::Vector3
Vector3(const Vector3< U > &vector)
Construct the vector from another type of vector.
sf::Vector3::Vector3
Vector3()
Default constructor.
sf
Definition AlResource.hpp:35
sf::operator==
bool operator==(const IpAddress &left, const IpAddress &right)
Overload of == operator to compare two IP addresses.
sf::operator!=
bool operator!=(const IpAddress &left, const IpAddress &right)
Overload of != operator to compare two IP addresses.
sf::Vector3i
Vector3< int > Vector3i
Definition Vector3.hpp:255
sf::Vector3f
Vector3< float > Vector3f
Definition Vector3.hpp:256