|
XPPlanes
X-Plane plugin to display additional planes based on network data
|
All global config settings and variables are kept in one structure for convenient access and central definition. More...
#include <Global.h>
Public Types | |
| enum | StatusTy { STATUS_INACTIVE = 0 , STATUS_WAITING , STATUS_ACTIVE } |
| Plugin status (type definition) More... | |
Public Member Functions | |
| GlobVars (logLevelTy _logLvl=logINFO, bool _logMdlMatch=false) | |
| Constructor. More... | |
| bool | ShallHideOsById () const |
| Hide ownship data based on id? More... | |
| bool | ShallHideOsByReg () const |
| Hide ownship data based on registration? More... | |
| bool | ConfigFileLoad () |
| Read from a config file. More... | |
| bool | ConfigFileSave () |
| Write to a config file. More... | |
| void | ThisThreadIsXP () |
| Set current thread as main xp Thread. More... | |
| bool | IsXPThread () const |
| Is this thread XP's main thread? More... | |
Public Attributes | |
| logLevelTy | logLvl |
| Logging level. More... | |
| bool | bLogMdlMatch = false |
| Debug model matching? More... | |
| bool | bClampAll = false |
Clamp all planes to the ground? Default is false as clamping is kinda expensive due to Y-Testing; then clamping is only activated when plane is thought to be on the ground. More... | |
| bool | bObjReplDataRefs = true |
Replace dataRefs in .obj files on load? More... | |
| bool | bObjReplTextures = true |
Replace textures in .obj files on load if needed? More... | |
| int | bufferPeriod = 5 |
| Buffering period in seconds. More... | |
| int | gracePeriod = 30 |
| Remove a plane after how many seconds without fresh data? More... | |
| int | iHideOwnship = HIDEOS_BY_ID | HIDEOS_BY_REG |
| Hide ownship data? (bitfield, see HIDEOS_BY_ID and HIDEOS_BY_REG) More... | |
| bool | bDrawLabels = true |
| Shall we draw aircraft labels? More... | |
| int | maxLabelDist = 5556 |
| Maximum distance for drawing labels? [m], defaults to 3nm. More... | |
| bool | bLabelCutOffAtVisibility = true |
| Cut off labels at XP's reported visibility mit? More... | |
| bool | bAITcasControl = true |
| Do we want to control X-Plane's AI/Multiplayer planes for TCAS? More... | |
| bool | bMapEnabled = true |
| Do we feed X-Plane's maps with our aircraft positions? More... | |
| bool | bMapLabels = true |
| Do we show labels with the aircraft icons? More... | |
| std::string | listenMCGroup = "239.255.1.1" |
| The multicast group that we use, which is the same X-Plane is using itself for its BEACON. More... | |
| int | listenMCPort = 49900 |
| The port we use is different from the port the X-Plane BEACON uses, so we don't get into conflict. More... | |
| int | listenBcstPort = 49800 |
| The port for receiving UDP broadcast messages. More... | |
| int | remoteTTL = 8 |
| Time-to-live, or mumber of hops for a multicast message. More... | |
| int | remoteBufSize = 8192 |
| Buffer size, ie. max message length we send over multicast. More... | |
| mapPlanesTy | mapPlanes |
| Global map of all created planes. More... | |
| mapListFlightDataTy | mapListFD |
| Global map of available (potentially future) flight data. More... | |
| std::mutex | mtxListFD |
| Mutex protecting access to the above mapListFD. More... | |
| XPLMPluginID | pluginId = 0 |
| This plugin's id. More... | |
| std::thread::id | xpThread |
| id of X-Plane's thread (when it is OK to use XP API calls) More... | |
| float | now = NAN |
| Current X-Xplane's time. More... | |
| XPLMMenuID | hMenu = NULL |
| plugin's menu handle More... | |
| volatile StatusTy | eStatus = STATUS_INACTIVE |
| Plugin status. More... | |
All global config settings and variables are kept in one structure for convenient access and central definition.
| enum GlobVars::StatusTy |
|
inline |
Constructor.
| bool GlobVars::ConfigFileLoad | ( | ) |
Read from a config file.
| bool GlobVars::ConfigFileSave | ( | ) |
Write to a config file.
|
inline |
Is this thread XP's main thread?
|
inline |
Hide ownship data based on id?
|
inline |
Hide ownship data based on registration?
|
inline |
Set current thread as main xp Thread.
| bool GlobVars::bAITcasControl = true |
Do we want to control X-Plane's AI/Multiplayer planes for TCAS?
| bool GlobVars::bClampAll = false |
Clamp all planes to the ground? Default is false as clamping is kinda expensive due to Y-Testing; then clamping is only activated when plane is thought to be on the ground.
| bool GlobVars::bDrawLabels = true |
Shall we draw aircraft labels?
| bool GlobVars::bLabelCutOffAtVisibility = true |
Cut off labels at XP's reported visibility mit?
| bool GlobVars::bLogMdlMatch = false |
Debug model matching?
| bool GlobVars::bMapEnabled = true |
Do we feed X-Plane's maps with our aircraft positions?
| bool GlobVars::bMapLabels = true |
Do we show labels with the aircraft icons?
| bool GlobVars::bObjReplDataRefs = true |
Replace dataRefs in .obj files on load?
| bool GlobVars::bObjReplTextures = true |
Replace textures in .obj files on load if needed?
| int GlobVars::bufferPeriod = 5 |
Buffering period in seconds.
| volatile StatusTy GlobVars::eStatus = STATUS_INACTIVE |
Plugin status.
| int GlobVars::gracePeriod = 30 |
Remove a plane after how many seconds without fresh data?
| XPLMMenuID GlobVars::hMenu = NULL |
plugin's menu handle
| int GlobVars::iHideOwnship = HIDEOS_BY_ID | HIDEOS_BY_REG |
Hide ownship data? (bitfield, see HIDEOS_BY_ID and HIDEOS_BY_REG)
| int GlobVars::listenBcstPort = 49800 |
The port for receiving UDP broadcast messages.
| std::string GlobVars::listenMCGroup = "239.255.1.1" |
The multicast group that we use, which is the same X-Plane is using itself for its BEACON.
| int GlobVars::listenMCPort = 49900 |
The port we use is different from the port the X-Plane BEACON uses, so we don't get into conflict.
| logLevelTy GlobVars::logLvl |
| mapListFlightDataTy GlobVars::mapListFD |
Global map of available (potentially future) flight data.
| mapPlanesTy GlobVars::mapPlanes |
Global map of all created planes.
| int GlobVars::maxLabelDist = 5556 |
Maximum distance for drawing labels? [m], defaults to 3nm.
| std::mutex GlobVars::mtxListFD |
Mutex protecting access to the above mapListFD.
| float GlobVars::now = NAN |
Current X-Xplane's time.
| XPLMPluginID GlobVars::pluginId = 0 |
This plugin's id.
| int GlobVars::remoteBufSize = 8192 |
Buffer size, ie. max message length we send over multicast.
| int GlobVars::remoteTTL = 8 |
Time-to-live, or mumber of hops for a multicast message.
| std::thread::id GlobVars::xpThread |
id of X-Plane's thread (when it is OK to use XP API calls)