4#ifndef _SPACESTATIONTYPE_H
5#define _SPACESTATIONTYPE_H
87 std::vector<std::pair<int, std::string>>
bayIDs;
105 std::string modelName;
107 enum DOCKMETHOD { SURFACE,
108 ORBITAL } dockMethod;
109 unsigned int numDockingPorts;
112 float parkingDistance;
113 float parkingGapSize;
118 static std::vector<SpaceStationType> surfaceTypes;
119 static std::vector<SpaceStationType> orbitalTypes;
126 int(s) > int(DockStage::DOCK_STAGES_BEGIN) &&
127 int(s) < int(DockStage::DOCK_STAGES_END);
132 int(s) > int(DockStage::UNDOCK_STAGES_BEGIN) &&
133 int(s) < int(DockStage::UNDOCK_STAGES_END);
151 const std::string &
ModelName()
const {
return modelName; }
156 int NumDockingStages()
const {
return int(lastDockStage) - int(DockStage::DOCK_ANIMATION_NONE); }
157 int NumUndockStages()
const {
return int(lastUndockStage) - int(DockStage::UNDOCK_ANIMATION_NONE); }
DockStage
Definition: SpaceStationType.h:22
Definition: SpaceStationType.h:68
const char * DockStageName(DockStage s) const
Definition: SpaceStationType.cpp:333
bool IsOrbitalStation() const
Definition: SpaceStationType.h:154
static bool IsUndockStage(DockStage s)
Definition: SpaceStationType.h:130
matrix4x4f GetStageTransform(int bay, DockStage stage) const
Definition: SpaceStationType.cpp:337
bool GetShipApproachWaypoints(const unsigned int port, DockStage stage, positionOrient_t &outPosOrient) const
Definition: SpaceStationType.cpp:242
SPort * GetPortByBay(const int zeroBaseBayID)
Definition: SpaceStationType.cpp:229
float ParkingGapSize() const
Definition: SpaceStationType.h:161
std::map< DockStage, matrix4x4f > TMapBayIDMat
Definition: SpaceStationType.h:70
std::vector< SPort > TPorts
Definition: SpaceStationType.h:91
int NumDockingStages() const
Definition: SpaceStationType.h:156
DockStage LastUndockStage() const
Definition: SpaceStationType.h:159
const SPort * FindPortByBay(const int zeroBaseBayID) const
Definition: SpaceStationType.cpp:216
const std::string & ModelName() const
Definition: SpaceStationType.h:151
static bool IsDockStage(DockStage s)
Definition: SpaceStationType.h:124
bool IsSurfaceStation() const
Definition: SpaceStationType.h:153
DockStage LastDockStage() const
Definition: SpaceStationType.h:158
static void Init()
Definition: SpaceStationType.cpp:264
float AngVel() const
Definition: SpaceStationType.h:152
float ParkingDistance() const
Definition: SpaceStationType.h:160
void OnSetupComplete()
Definition: SpaceStationType.cpp:69
unsigned int NumDockingPorts() const
Definition: SpaceStationType.h:155
DockStage PivotStage(DockStage s) const
Definition: SpaceStationType.cpp:314
static const SpaceStationType * RandomStationType(Random &random, const bool bIsGround)
Definition: SpaceStationType.cpp:293
std::map< Uint32, BayPath > BayPathMap
Definition: SpaceStationType.h:75
static const SpaceStationType * FindByName(const std::string &name)
Definition: SpaceStationType.cpp:303
static DockStage NextAnimStage(DockStage s)
Definition: SpaceStationType.h:136
int NumUndockStages() const
Definition: SpaceStationType.h:157
const TPorts & Ports() const
Definition: SpaceStationType.h:162
Definition: CityOnPlanet.h:32
Definition: SpaceStationType.h:71
TMapBayIDMat m_leaving
Definition: SpaceStationType.h:73
TMapBayIDMat m_docking
Definition: SpaceStationType.h:72
Definition: SpaceStationType.h:77
int minShipSize
Definition: SpaceStationType.h:85
bool inUse
Definition: SpaceStationType.h:86
int maxShipSize
Definition: SpaceStationType.h:85
int portId
Definition: SpaceStationType.h:84
std::string name
Definition: SpaceStationType.h:88
SPort()
Definition: SpaceStationType.h:79
static const int BAD_PORT_ID
Definition: SpaceStationType.h:78
std::vector< std::pair< int, std::string > > bayIDs
Definition: SpaceStationType.h:87
TMapBayIDMat m_approach
Definition: SpaceStationType.h:89
Definition: SpaceStationType.h:93
vector3d yaxis
Definition: SpaceStationType.h:96
vector3d pos
Definition: SpaceStationType.h:94
vector3d xaxis
Definition: SpaceStationType.h:95
vector3d zaxis
Definition: SpaceStationType.h:97