IMS2  Pre-Alpha
An Orbiter add-on to allow on-runtime construction of spacecraft from predefined modules
IMS_Movable Class Referenceabstract

Abstract base class for objects capable of moving around between modules, such as storables and crew. More...

Inheritance diagram for IMS_Movable:
EventHandler

Public Member Functions

 IMS_Movable (IMS_Location *location, bool fixed=false)
 
virtual double GetMass ()
 
virtual void PreStep (IMS_Location *location)=0
 
void Move (IMS_Location *from, IMS_Location *to)
 
- Public Member Functions inherited from EventHandler
void ConnectToMyEventGenerator (EventSink *sink, EVENTPIPE pipe)
 connects an EventSink to the EventGenerator of this in the appropriate pipe. More...
 
void ConnectToMyEventSink (EventSink *sink, EVENTPIPE pipe)
 Connects an EventSink on this to the passed event sink. More...
 
void ConnectMySinkToYourNode (EventNode *node, EVENTPIPE pipe)
 Connects an EventSink on this to the passed EventNode, no matter whether generator or another sink. More...
 
EVENTHANDLERTYPE GetEventHandlerType ()
 Returns the EVENTHANDLERTYPE of this event handler.
 
UINT GetUID ()
 Returns the globaly unique identifier of this event handler.
 

Protected Member Functions

void removeFrom (IMS_Location *location)
 takes all necessary steps to remove a movable from a module More...
 
void addTo (IMS_Location *location)
 takes all necessary steps to add a movable to a module More...
 
- Protected Member Functions inherited from EventHandler
EventGeneratorcreateEventGenerator (EVENTPIPE pipe)
 Creates a new EventGenerator for this handler instance. More...
 
EventSinkcreateEventSink (EVENTPIPE pipe)
 creates a new EventSink in this handler instance More...
 
void disconnect (EventHandler *handler, bool bidirectional=true)
 Completely severs connections to and from the passed EventHandler, all sinks, all generators. More...
 
void sendEvents ()
 Tells all event generators in this event handler to advance their event cue. More...
 
void processWaitingQueue ()
 processes all events in the waiting queue. More...
 
void addEvent (Event_Base *_event, EVENTPIPE _pipe=DEFAULT_PIPE)
 Adds an event to the eventcue of an eventpipe. More...
 
void addEventToWaitingQueue (Event_Base *_event)
 Adds an event to this handlers waiting queue. More...
 
void relayEvent (Event_Base *_event, EVENTPIPE _pipe)
 Relays an event to another event pipe. More...
 
EventSinkgetEventSink (EVENTPIPE pipe)
 returns the EventSink on this EventHandler that belongs to the passed event pipe More...
 
EventGeneratorgetEventGenerator (EVENTPIPE pipe)
 Returns the EventGenerator on this EventHandler that belongs to the passed event pipe. More...
 
virtual bool ProcessEvent (Event_Base *e)=0
 Receives all events coming through this EventHandler. More...
 

Protected Attributes

bool fixedpos = false
 
double mass
 
- Protected Attributes inherited from EventHandler
EVENTPIPE defaultpipe = DEFAULT_PIPE
 Use this to set the defualt event pipe of this event handler.
 
EVENTHANDLERTYPE eventhandlertype
 An identifier that offers a group identification.
 

Friends

class IMS_Location
 

Detailed Description

Abstract base class for objects capable of moving around between modules, such as storables and crew.

Constructor & Destructor Documentation

IMS_Movable::IMS_Movable ( IMS_Location location,
bool  fixed = false 
)
Parameters
locationThe module instance the movable is initially a part of
fixedWhether the movable can be moved from module to module

Member Function Documentation

void IMS_Movable::addTo ( IMS_Location location)
protected

takes all necessary steps to add a movable to a module

Parameters
moduleThe module instance to which to add the movable
void IMS_Movable::removeFrom ( IMS_Location location)
protected

takes all necessary steps to remove a movable from a module

Parameters
moduleThe module instance to remove the movable from

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