Learn
Download
Community
Development
Home
»
Learn
»
2.6.2 Documentation
»
Transformable.hpp Source File
Français
Donate
Documentation of SFML 2.6.2
Warning:
this page refers to an old version of SFML. Click here to switch to the latest version.
Main Page
Related Pages
Topics
Namespaces
Classes
Files
File List
File Members
Loading...
Searching...
No Matches
SFML
include
SFML
Graphics
Transformable.hpp
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_TRANSFORMABLE_HPP
26
#define SFML_TRANSFORMABLE_HPP
27
29
// Headers
31
#include <SFML/Graphics/Export.hpp>
32
#include <SFML/Graphics/Transform.hpp>
33
34
35
namespace
sf
36
{
41
class
SFML_GRAPHICS_API
Transformable
42
{
43
public
:
44
49
Transformable
();
50
55
virtual
~Transformable
();
56
70
void
setPosition
(
float
x,
float
y);
71
84
void
setPosition
(
const
Vector2f
& position);
85
98
void
setRotation
(
float
angle);
99
113
void
setScale
(
float
factorX,
float
factorY);
114
127
void
setScale
(
const
Vector2f
& factors);
128
145
void
setOrigin
(
float
x,
float
y);
146
162
void
setOrigin
(
const
Vector2f
& origin);
163
172
const
Vector2f
&
getPosition
()
const
;
173
184
float
getRotation
()
const
;
185
194
const
Vector2f
&
getScale
()
const
;
195
204
const
Vector2f
&
getOrigin
()
const
;
205
223
void
move
(
float
offsetX,
float
offsetY);
224
240
void
move
(
const
Vector2f
& offset);
241
255
void
rotate
(
float
angle);
256
274
void
scale
(
float
factorX,
float
factorY);
275
292
void
scale
(
const
Vector2f
& factor);
293
302
const
Transform
&
getTransform
()
const
;
303
312
const
Transform
&
getInverseTransform
()
const
;
313
314
private
:
315
317
// Member data
319
Vector2f
m_origin;
320
Vector2f
m_position;
321
float
m_rotation;
322
Vector2f
m_scale;
323
mutable
Transform
m_transform;
324
mutable
bool
m_transformNeedUpdate;
325
mutable
Transform
m_inverseTransform;
326
mutable
bool
m_inverseTransformNeedUpdate;
327
};
328
329
}
// namespace sf
330
331
332
#endif
// SFML_TRANSFORMABLE_HPP
333
334
sf::Transform
Define a 3x3 transform matrix.
Definition
Transform.hpp:43
sf::Transformable
Decomposed transform defined by a position, a rotation and a scale.
Definition
Transformable.hpp:42
sf::Transformable::setRotation
void setRotation(float angle)
set the orientation of the object
sf::Transformable::scale
void scale(float factorX, float factorY)
Scale the object.
sf::Transformable::getTransform
const Transform & getTransform() const
get the combined transform of the object
sf::Transformable::~Transformable
virtual ~Transformable()
Virtual destructor.
sf::Transformable::setScale
void setScale(const Vector2f &factors)
set the scale factors of the object
sf::Transformable::setPosition
void setPosition(float x, float y)
set the position of the object
sf::Transformable::setOrigin
void setOrigin(float x, float y)
set the local origin of the object
sf::Transformable::getScale
const Vector2f & getScale() const
get the current scale of the object
sf::Transformable::move
void move(float offsetX, float offsetY)
Move the object by a given offset.
sf::Transformable::getOrigin
const Vector2f & getOrigin() const
get the local origin of the object
sf::Transformable::getRotation
float getRotation() const
get the orientation of the object
sf::Transformable::setOrigin
void setOrigin(const Vector2f &origin)
set the local origin of the object
sf::Transformable::setScale
void setScale(float factorX, float factorY)
set the scale factors of the object
sf::Transformable::move
void move(const Vector2f &offset)
Move the object by a given offset.
sf::Transformable::getInverseTransform
const Transform & getInverseTransform() const
get the inverse of the combined transform of the object
sf::Transformable::scale
void scale(const Vector2f &factor)
Scale the object.
sf::Transformable::Transformable
Transformable()
Default constructor.
sf::Transformable::getPosition
const Vector2f & getPosition() const
get the position of the object
sf::Transformable::setPosition
void setPosition(const Vector2f &position)
set the position of the object
sf::Transformable::rotate
void rotate(float angle)
Rotate the object.
sf::Vector2< float >