Pioneer
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
SpaceStation Class Reference

#include <SpaceStation.h>

Inheritance diagram for SpaceStation:
Inheritance graph
[legend]
Collaboration diagram for SpaceStation:
Collaboration graph
[legend]

Public Types

enum class  DockingRefusedReason { ClearanceAlreadyGranted , TooFarFromStation , NoBaysAvailable }
 
- Public Types inherited from Body
enum  { FLAG_CAN_MOVE_FRAME = (1 << 0) , FLAG_LABEL_HIDDEN = (1 << 1) , FLAG_DRAW_LAST = (1 << 2) , FLAG_DRAW_EXCLUDE = (1 << 3) }
 

Public Member Functions

 OBJDEF (SpaceStation, ModelBody, SPACESTATION)
 
 SpaceStation ()=delete
 
 SpaceStation (const SystemBody *)
 
 SpaceStation (const Json &jsonObj, Space *space)
 
virtual ~SpaceStation ()
 
virtual vector3d GetAngVelocity () const override
 
virtual bool OnCollision (Body *b, Uint32 flags, double relVel) override
 
bool DoShipDamage (Ship *s, Uint32 flags, double relVel)
 
virtual void Render (Graphics::Renderer *r, const Camera *camera, const vector3d &viewCoords, const matrix4x4d &viewTransform) override
 
virtual void StaticUpdate (const float timeStep) override
 
virtual void TimeStepUpdate (const float timeStep) override
 
virtual const SystemBodyGetSystemBody () const override
 
virtual void PostLoadFixup (Space *space) override
 
virtual void NotifyRemoved (const Body *const removedBody) override
 
virtual void SetLabel (const std::string &label) override
 
bool LaunchShip (Ship *ship, const int port)
 
void SetDocked (Ship *ship, const int port)
 
void SwapDockedShipsPort (const int oldPort, const int newPort)
 
int GetNearbyTraffic (double radius)
 
bool GetDockingClearance (Ship *s)
 
int GetDockingPortCount () const
 
int GetFreeDockingPort (const Ship *s) const
 
int GetMyDockingPort (const Ship *s) const
 
int NumShipsDocked () const
 
const SpaceStationTypeGetStationType () const
 
bool IsGroundStation () const
 
bool AllocateStaticSlot (int &slot)
 
vector3d GetTargetIndicatorPosition () const override
 
virtual void UpdateInterpTransform (double alpha) override
 
- Public Member Functions inherited from ModelBody
 OBJDEF (ModelBody, Body, MODELBODY)
 
 ModelBody ()
 
 ModelBody (const Json &jsonObj, Space *space)
 
virtual ~ModelBody ()
 
void SetPosition (const vector3d &p) override
 
void SetOrient (const matrix3x3d &r) override
 
virtual void SetFrame (FrameId fId) override
 
void SetColliding (bool colliding)
 
bool IsColliding () const
 
void SetStatic (bool isStatic)
 
bool IsStatic () const
 
const AabbGetAabb () const
 
SceneGraph::ModelGetModel () const
 
CollMeshGetCollMesh ()
 
GeomGetGeom () const
 
void SetModel (const char *modelName)
 
void RenderModel (Graphics::Renderer *r, const Camera *camera, const vector3d &viewCoords, const matrix4x4d &viewTransform, const bool setLighting=true)
 
virtual void TimeStepUpdate (const float timeStep) override
 
- Public Member Functions inherited from Body
virtual ObjectType GetType () const
 
virtual bool IsType (ObjectType c) const
 
 Body ()
 
 Body (const Json &jsonObj, Space *space)
 
virtual ~Body ()
 
void ToJson (Json &jsonObj, Space *space)
 
virtual void PostLoadFixup (Space *space)
 
virtual void SetPosition (const vector3d &p)
 
vector3d GetPosition () const
 
virtual void SetOrient (const matrix3x3d &r)
 
const matrix3x3dGetOrient () const
 
virtual void SetVelocity (const vector3d &v)
 
virtual vector3d GetVelocity () const
 
virtual void SetAngVelocity (const vector3d &v)
 
virtual vector3d GetAngVelocity () const
 
void SetPhysRadius (double r)
 
double GetPhysRadius () const
 
void SetClipRadius (double r)
 
double GetClipRadius () const
 
virtual double GetMass () const
 
virtual bool OnCollision (Body *o, Uint32 flags, double relVel)
 
virtual bool OnDamage (Body *attacker, float kgDamage, const CollisionContact &contactData)
 
virtual void NotifyRemoved (const Body *const removedBody)
 
virtual void StaticUpdate (const float timeStep)
 
virtual void TimeStepUpdate (const float timeStep)
 
virtual void Render (Graphics::Renderer *r, const Camera *camera, const vector3d &viewCoords, const matrix4x4d &viewTransform)=0
 
virtual void SetFrame (FrameId f)
 
FrameId GetFrame () const
 
void SwitchToFrame (FrameId newFrame)
 
void UpdateFrame ()
 
vector3d GetVelocityRelTo (const Body *) const
 
vector3d GetVelocityRelTo (FrameId) const
 
vector3d GetPositionRelTo (FrameId) const
 
vector3d GetPositionRelTo (const Body *) const
 
matrix3x3d GetOrientRelTo (FrameId) const
 
virtual const SystemBodyGetSystemBody () const
 
void OrientOnSurface (double radius, double latitude, double longitude)
 
virtual void SetLabel (const std::string &label)
 
const std::string & GetLabel () const
 
unsigned int GetFlags () const
 
void SetFlag (unsigned int flag, bool enable)
 
template<typename T >
bool HasComponent () const
 
template<typename T >
T * GetComponent () const
 
template<typename T >
T * AddComponent ()
 
uint64_t GetComponentList () const
 
void MarkDead ()
 
bool IsDead () const
 
virtual bool IsInSpace () const
 
const matrix3x3dGetInterpOrient () const
 
vector3d GetInterpPosition () const
 
vector3d GetInterpPositionRelTo (FrameId relToId) const
 
vector3d GetInterpPositionRelTo (const Body *relTo) const
 
matrix3x3d GetInterpOrientRelTo (FrameId relToId) const
 
virtual void UpdateInterpTransform (double alpha)
 
virtual vector3d GetTargetIndicatorPosition () const
 
- Public Member Functions inherited from DeleteEmitter
 DeleteEmitter ()
 
virtual ~DeleteEmitter ()
 
- Public Member Functions inherited from LuaWrappable
virtual ~LuaWrappable ()
 
- Public Member Functions inherited from PropertiedObject
PropertyMapProperties ()
 
const PropertyMapProperties () const
 

Static Public Member Functions

static void Init ()
 
- Static Public Member Functions inherited from Body
static constexpr ObjectType StaticType ()
 
static BodyFromJson (const Json &jsonObj, Space *space)
 

Protected Member Functions

virtual void SaveToJson (Json &jsonObj, Space *space) override
 
- Protected Member Functions inherited from ModelBody
virtual void SaveToJson (Json &jsonObj, Space *space) override
 
void SetLighting (Graphics::Renderer *r, const Camera *camera, std::vector< float > &oldIntensity, Color &oldAmbient)
 
void ResetLighting (Graphics::Renderer *r, const std::vector< float > &oldIntensity, const Color &oldAmbient)
 
ShieldsGetShields () const
 
virtual void SaveToJson (Json &jsonObj, Space *space)
 

Additional Inherited Members

- Public Attributes inherited from DeleteEmitter
sigc::signal< void > onDelete
 
- Protected Attributes inherited from Body
unsigned int m_flags = 0
 
vector3d m_interpPos
 
matrix3x3d m_interpOrient
 

Member Enumeration Documentation

◆ DockingRefusedReason

Enumerator
ClearanceAlreadyGranted 
TooFarFromStation 
NoBaysAvailable 

Constructor & Destructor Documentation

◆ SpaceStation() [1/3]

SpaceStation::SpaceStation ( )
delete

◆ SpaceStation() [2/3]

SpaceStation::SpaceStation ( const SystemBody sbody)

◆ SpaceStation() [3/3]

SpaceStation::SpaceStation ( const Json jsonObj,
Space space 
)
Here is the call graph for this function:

◆ ~SpaceStation()

SpaceStation::~SpaceStation ( )
virtual

Member Function Documentation

◆ AllocateStaticSlot()

bool SpaceStation::AllocateStaticSlot ( int &  slot)
Here is the call graph for this function:

◆ DoShipDamage()

bool SpaceStation::DoShipDamage ( Ship s,
Uint32  flags,
double  relVel 
)

◆ GetAngVelocity()

virtual vector3d SpaceStation::GetAngVelocity ( ) const
inlineoverridevirtual

Reimplemented from Body.

Here is the call graph for this function:

◆ GetDockingClearance()

bool SpaceStation::GetDockingClearance ( Ship s)
Here is the call graph for this function:

◆ GetDockingPortCount()

int SpaceStation::GetDockingPortCount ( ) const
inline
Here is the call graph for this function:

◆ GetFreeDockingPort()

int SpaceStation::GetFreeDockingPort ( const Ship s) const
Here is the call graph for this function:

◆ GetMyDockingPort()

int SpaceStation::GetMyDockingPort ( const Ship s) const

◆ GetNearbyTraffic()

int SpaceStation::GetNearbyTraffic ( double  radius)
Here is the call graph for this function:

◆ GetStationType()

const SpaceStationType * SpaceStation::GetStationType ( ) const
inline

◆ GetSystemBody()

virtual const SystemBody * SpaceStation::GetSystemBody ( ) const
inlineoverridevirtual

Reimplemented from Body.

◆ GetTargetIndicatorPosition()

vector3d SpaceStation::GetTargetIndicatorPosition ( ) const
overridevirtual

Reimplemented from Body.

Here is the call graph for this function:

◆ Init()

void SpaceStation::Init ( )
static
Here is the call graph for this function:

◆ IsGroundStation()

bool SpaceStation::IsGroundStation ( ) const
Here is the call graph for this function:

◆ LaunchShip()

bool SpaceStation::LaunchShip ( Ship ship,
const int  port 
)
Here is the call graph for this function:

◆ NotifyRemoved()

void SpaceStation::NotifyRemoved ( const Body *const  removedBody)
overridevirtual

Reimplemented from Body.

◆ NumShipsDocked()

int SpaceStation::NumShipsDocked ( ) const

◆ OBJDEF()

SpaceStation::OBJDEF ( SpaceStation  ,
ModelBody  ,
SPACESTATION   
)

◆ OnCollision()

bool SpaceStation::OnCollision ( Body b,
Uint32  flags,
double  relVel 
)
overridevirtual

Reimplemented from Body.

Here is the call graph for this function:

◆ PostLoadFixup()

void SpaceStation::PostLoadFixup ( Space space)
overridevirtual

Reimplemented from Body.

Here is the call graph for this function:

◆ Render()

void SpaceStation::Render ( Graphics::Renderer r,
const Camera camera,
const vector3d viewCoords,
const matrix4x4d viewTransform 
)
overridevirtual

Implements Body.

Here is the call graph for this function:

◆ SaveToJson()

void SpaceStation::SaveToJson ( Json jsonObj,
Space space 
)
overrideprotectedvirtual

Reimplemented from ModelBody.

Here is the call graph for this function:

◆ SetDocked()

void SpaceStation::SetDocked ( Ship ship,
const int  port 
)
Here is the call graph for this function:

◆ SetLabel()

void SpaceStation::SetLabel ( const std::string &  label)
overridevirtual

Reimplemented from Body.

Here is the call graph for this function:

◆ StaticUpdate()

void SpaceStation::StaticUpdate ( const float  timeStep)
overridevirtual

Reimplemented from Body.

◆ SwapDockedShipsPort()

void SpaceStation::SwapDockedShipsPort ( const int  oldPort,
const int  newPort 
)
Here is the call graph for this function:

◆ TimeStepUpdate()

void SpaceStation::TimeStepUpdate ( const float  timeStep)
overridevirtual

Reimplemented from ModelBody.

Here is the call graph for this function:

◆ UpdateInterpTransform()

void SpaceStation::UpdateInterpTransform ( double  alpha)
overridevirtual

Reimplemented from Body.

Here is the call graph for this function:

The documentation for this class was generated from the following files: