Files
SimCore/include/SimCore/SimCore.hpp

150 lines
2.0 KiB
C++

#pragma once
#include <cstdint>
#include <map>
#include <string>
#define RCS_DEFAULT 1000
#define RCS_AIR 700
#define RCS_SURFACE 1500
#define RCS_LAND 100
#define RCS_SPACE 100
namespace SimCore {
/// 1m/s in knoten
const double MsKt = 1.9438444924574;
enum GeodesicPosition : std::uint8_t {
LONGITUDE = 0,
LATITUDE,
HEIGHT
};
enum GeocentricPosition : std::uint8_t {
X = 0,
Y,
Z
};
enum EulerAngels : std::uint8_t
{
PSI = 0,
THETA,
PHI
};
enum ObjectSource : bool{
EXTERNAL = true,
INTERNAL = false
};
namespace Side {
enum EntitySide : std::uint8_t{
UNKNOWN,
NEUTRAL = 1,
HOSTILE = 2,
FRIEND = 3,
};
static std::map<std::uint8_t, std::string> EntitySideMap =
{
{EntitySide::UNKNOWN, "Unknown"},
{EntitySide::NEUTRAL, "Neutral"},
{EntitySide::HOSTILE, "Hostile"},
{EntitySide::FRIEND, "Friend"}
};
}
namespace Kind {
enum EntityKind : std::uint8_t{
UNKNOWN = 0,
SURFACE = 1,
SUBSURFACE = 2,
AIR = 3,
LAND = 4,
SPACE = 5
};
static std::map<std::uint8_t, std::string> EntityKindMap =
{
{UNKNOWN, "Unknown"},
{SURFACE, "Surface"},
{SUBSURFACE, "Subsurface" },
{AIR, "Air"},
{LAND, "Land"},
{SPACE, "Space"}
};
}
enum Status : std::uint32_t{
ACTIVE,
OFF,
INTAKT,
DEFEKT,
DEGRADED
};
static std::map<std::uint32_t, std::string> StatusMap =
{
{ACTIVE, "Active"},
{OFF, "Off"},
{INTAKT, "Intakt" },
{DEFEKT, "Defekt"},
{DEGRADED, "Degraded"},
};
enum SensorKinds : std::uint32_t {
RADAR = 1,
ELOKA,
SONAR,
VISUAL
};
enum EffectorKind : std::uint32_t {
VLS = 1,
GUN,
TORPEDO,
};
enum TrackKind : std::uint8_t {
UNKNOWN_TRACK,
SIM_TRACK,
GROUND_TRUTH_TRACK,
OWN_TRACK,
RADAR_TRACK,
VISUAL_TRACK,
ESM_TRACK
};
enum ControlType : std::uint32_t
{
IDENTIFY,
START,
STOP,
SHUT_DOWN,
CREATE_ENTITY,
DELETE_ENTITY,
GET_CONTROL,
GET_TRACKLIST
};
}