64 lines
1.2 KiB
C++
Executable File
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
|
|
|