SFML - Simple and Fast Multimedia Library

SFML 3.0.2
Loading...
Searching...
No Matches
Sensor.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2025 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#pragma once
26
28// Headers
30#include <SFML/Window/Export.hpp>
31
32#include <SFML/System/Vector3.hpp>
33
38 namespace sf::Sensor
39{
44 enum class Type
45{
46 Accelerometer,
47 Gyroscope,
48 Magnetometer,
49 Gravity,
50 UserAcceleration,
51 Orientation
52};
53
54// NOLINTNEXTLINE(readability-identifier-naming)
55 static constexpr unsigned int Count{6};
56
65[[nodiscard]] SFML_WINDOW_API bool isAvailable(Type sensor);
66
80 SFML_WINDOW_API void setEnabled(Type sensor, bool enabled);
81
90[[nodiscard]] SFML_WINDOW_API Vector3f getValue(Type sensor);
91} // namespace sf::Sensor
92
93
Vector3.hpp
Export.hpp
SFML_WINDOW_API
#define SFML_WINDOW_API
Definition Window/Export.hpp:42
sf::Sensor
Give access to the real-time state of the sensors.
Definition Sensor.hpp:39
sf::Sensor::getValue
Vector3f getValue(Type sensor)
Get the current sensor value.
sf::Sensor::Count
static constexpr unsigned int Count
The total number of sensor types.
Definition Sensor.hpp:55
sf::Sensor::Type
Type
Sensor type.
Definition Sensor.hpp:45
sf::Sensor::Type::Gravity
@ Gravity
Measures the direction and intensity of gravity, independent of device acceleration (m/s^2).
Definition Sensor.hpp:49
sf::Sensor::Type::Magnetometer
@ Magnetometer
Measures the ambient magnetic field (micro-teslas).
Definition Sensor.hpp:48
sf::Sensor::Type::Orientation
@ Orientation
Measures the absolute 3D orientation (radians).
Definition Sensor.hpp:51
sf::Sensor::Type::Accelerometer
@ Accelerometer
Measures the raw acceleration (m/s^2).
Definition Sensor.hpp:46
sf::Sensor::Type::Gyroscope
@ Gyroscope
Measures the raw rotation rates (radians/s).
Definition Sensor.hpp:47
sf::Sensor::Type::UserAcceleration
@ UserAcceleration
Measures the direction and intensity of device acceleration, independent of the gravity (m/s^2).
Definition Sensor.hpp:50
sf::Sensor::isAvailable
bool isAvailable(Type sensor)
Check if a sensor is available on the underlying platform.
sf::Sensor::setEnabled
void setEnabled(Type sensor, bool enabled)
Enable or disable a sensor.
sf::Vector3f
Vector3< float > Vector3f
Definition Vector3.hpp:306