nmeasim::core¶
namespace nmeasim::core · Library API
The simulation engine, a static library with no Qt dependency (CMake target nmeasim::core).
It models the vessel (model), produces its state over time (simulation), and encodes that state as NMEA 0183 sentences (nmea0183), AIS messages (ais), Signal K deltas (signalk) and ViewSync packets (viewsync). It also reads tracks (track) and log files (log). Nothing in it blocks, sleeps or performs network or serial I/O, so every part can be tested in isolation and driven by any host.
Namespaces¶
| Namespace | Description |
|---|---|
nmeasim::core::ais |
AIS messages of the own vessel as a class A station, part of the nmeasim::core library. |
nmeasim::core::geo |
Geographic positions and geodesics on the WGS 84 ellipsoid, part of the nmeasim::core library. |
nmeasim::core::log |
Recorded sentence logs, part of the Qt-free nmeasim::core library: the format the simulator writes when recording and the third-party variants it reads back for replay. |
nmeasim::core::model |
The simulated vessel and its environment at one instant, part of the nmeasim::core library. |
nmeasim::core::nmea0183 |
NMEA 0183 sentences: framing and checksums, field formatting, the sentence catalogue, the encoders, the decoder and TAG blocks. |
nmeasim::core::physics |
Physical models of the simulated environment, part of the nmeasim::core library. |
nmeasim::core::signalk |
Signal K output, part of the nmeasim::core library. |
nmeasim::core::simulation |
The simulation engine of the Qt-free core library: the sources that produce the vessel state over time, the schedule that turns it into sentences, and the Simulation that ties them together. |
nmeasim::core::time |
Date and time text handling, part of the nmeasim::core library. |
nmeasim::core::track |
Tracks and routes read from GPX and KML files for the track-following mode, part of the Qt-free nmeasim::core library. |
nmeasim::core::units |
Unit conversions, part of the nmeasim::core library. |
nmeasim::core::viewsync |
ViewSync output, part of the nmeasim::core library. |
Summary¶
Functions
| Name | Description |
|---|---|
version_description() |
Returns the version shown to users. |
Variables
| Name | Description |
|---|---|
kProjectName |
Human-readable project name, PROJECT_NAME of the top-level CMake project. |
kVersion |
Semantic version string MAJOR.MINOR.PATCH, for example 1.1.0. |
kVersionMajor |
Major version number, the first component of kVersion. |
kVersionMinor |
Minor version number, the second component of kVersion. |
kVersionPatch |
Patch version number, the third component of kVersion. |
Functions¶
version_description()¶
std::string_view version_description() noexcept
Returns the version shown to users.
A build of the release tag v<kVersion>, or a build from a source archive without git metadata, returns kVersion alone; any other build appends the git describe string in parentheses, for example 1.0.0 (v1.0.0-3-g1a2b3c4-dirty).
Returns std::string_view: The description; it refers to a string literal and stays valid for the lifetime of the program.
Declared in src/core/include/nmeasim/core/version.hpp.in:37 · defined in src/core/src/version.cpp.in:18
Variables¶
kProjectName¶
std::string_view kProjectName{"@PROJECT_NAME@"}
Human-readable project name, PROJECT_NAME of the top-level CMake project.
Declared in src/core/include/nmeasim/core/version.hpp.in:17
kVersion¶
std::string_view kVersion{"@PROJECT_VERSION@"}
Semantic version string MAJOR.MINOR.PATCH, for example 1.1.0.
Declared in src/core/include/nmeasim/core/version.hpp.in:20
kVersionMajor¶
int kVersionMajor{@PROJECT_VERSION_MAJOR@}
Major version number, the first component of kVersion.
Declared in src/core/include/nmeasim/core/version.hpp.in:23
kVersionMinor¶
int kVersionMinor{@PROJECT_VERSION_MINOR@}
Minor version number, the second component of kVersion.
Declared in src/core/include/nmeasim/core/version.hpp.in:25
kVersionPatch¶
int kVersionPatch{@PROJECT_VERSION_PATCH@}
Patch version number, the third component of kVersion.
Declared in src/core/include/nmeasim/core/version.hpp.in:27