Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/Map/camera.h
T
2026-08-13 18:33:10 +02:00

64 lines
1.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Class Camera
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
// Own
#include "situation_map_types.h"
#include <Common/situation_map_logging.h>
#include <situation_map_export.h>
// Qt
#include <QString>
class QJsonObject;
//----------------------------------------------------------------------------
namespace SituationMap
{
//----------------------------------------------------------------------------
// for 3D:
/**
* @brief A Camera contains the spatial parameters to set a 3D view on a Scene (3D):
* A virtual camera's location, orientation and field of view.
*
*/
class SITUATIONMAP_EXPORT Camera
{
public:
Camera();
~Camera() = default;
void resetCamera();
bool isNull() const;
static Camera read(const QJsonObject &json);
QJsonObject toJsonObject() const;
QString toString() const;
double loc_x_lon; ///< location x (longitude)
double loc_y_lat; ///< location y (latitude)
double loc_z; ///< location z
double heading;
double pitch;
double roll;
};
SITUATIONMAP_EXPORT std::ostream &operator<< (std::ostream &stream,
const SituationMap::Camera &value);
} // namespace SituationMap