![]() |
Pioneer
|
#include <SystemView.h>

Classes | |
| struct | GroupInfo |
Public Types | |
| enum | types { NONE = 0 , OBJECT = 1 , L4 = 2 , L5 = 3 , APOAPSIS = 4 , PERIAPSIS = 5 , ORBIT = 6 , _MAX = 7 } |
| enum | bases { SYSTEMBODY = 0 , BODY = 1 , SHIP = 2 , PLAYER = 3 , PLANNER = 4 } |
Public Member Functions | |
| Projectable (const types t, const bases b, const Body *obj, const vector3d &pos=vector3d()) | |
| Projectable (const types t, const bases b, const SystemBody *obj, const vector3d &pos=vector3d()) | |
| Projectable () | |
| void * | getRef () const |
| bool | operator== (const Projectable &rhs) const |
Public Attributes | |
| enum Projectable::types | type |
| enum Projectable::bases | base |
| union { | |
| const Body * body | |
| const SystemBody * sbody | |
| } | ref |
| vector3f | screenpos |
| float | screensize = 0.f |
| vector3d | worldpos |
| int | orbitIdx = -1 |
Projectable is used as an opaque data container to represent an "object track" that the system map operates on. External systems push a projectable to represent a sensor contact or object in worldspace that should be visible to the player, and the map is responsible for transforming and culling them.
OBJECT-type projectables refer to a concrete body or sensor contact, and can potentially be centered, focused, and selected by the user.
All other projectable types represent visual-only elements which represent the intent to draw icons or orbit lines to the system map.
User code is permitted to extend the Projectable::types enum by passing integer values beyond types::_MAX to implement custom projectable types if needed. This should only be done with a wholly-owned SystemMapViewport however (i.e. don't use it with SystemView).
| enum Projectable::bases |
| enum Projectable::types |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |

| enum Projectable::bases Projectable::base |
| const Body* Projectable::body |
| int Projectable::orbitIdx = -1 |
| union { ... } Projectable::ref |
| const SystemBody* Projectable::sbody |
| vector3f Projectable::screenpos |
| float Projectable::screensize = 0.f |
| enum Projectable::types Projectable::type |
| vector3d Projectable::worldpos |