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-2024 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
31
33
38namespace sf::Sensor
39{
44enum class Type
45{
47 Gyroscope,
49 Gravity,
52};
53
54// NOLINTNEXTLINE(readability-identifier-naming)
55static constexpr unsigned int Count{6};
56
65[[nodiscard]] SFML_WINDOW_API bool isAvailable(Type sensor);
66
80SFML_WINDOW_API void setEnabled(Type sensor, bool enabled);
81
90[[nodiscard]] SFML_WINDOW_API Vector3f getValue(Type sensor);
91} // namespace sf::Sensor
92
93
#define SFML_WINDOW_API
Give access to the real-time state of the sensors.
Definition Sensor.hpp:39
Vector3f getValue(Type sensor)
Get the current sensor value.
static constexpr unsigned int Count
The total number of sensor types.
Definition Sensor.hpp:55
Type
Sensor type.
Definition Sensor.hpp:45
@ Gravity
Measures the direction and intensity of gravity, independent of device acceleration (m/s^2)
@ Magnetometer
Measures the ambient magnetic field (micro-teslas)
@ Orientation
Measures the absolute 3D orientation (radians)
@ Accelerometer
Measures the raw acceleration (m/s^2)
@ Gyroscope
Measures the raw rotation rates (radians/s)
@ UserAcceleration
Measures the direction and intensity of device acceleration, independent of the gravity (m/s^2)
bool isAvailable(Type sensor)
Check if a sensor is available on the underlying platform.
void setEnabled(Type sensor, bool enabled)
Enable or disable a sensor.