![]() |
VR-Forces 4.0.4 Class Documentation
|

Public Member Functions | |
| DtEmbarkationSlotManager (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtEmbarkationSlotManager (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtEmbarkationSlotManager (const DtString &name, const DtEmbarkationSlotManager &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor | |
| DtEmbarkationSlotManager (const DtSymbolString &name, const DtEmbarkationSlotManager &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| virtual | ~DtEmbarkationSlotManager () |
| virtual void | addSlot (int iSlot, const DtEmbarkationSlotEntry *) |
| virtual DtEmbarkationSlotInformation | slotFor (const DtVrfObject *embarkingObject, const DtVrfObject *hostObject) const |
| virtual DtEmbarkationSlotInformation | entityEmbarkationSlotInformation (const DtVrfObject *) const |
| Returns slot information for potentially embarked entity. | |
| virtual bool | blocked (int iSlot) const |
| Returns true if this slot is blocked from being occupied because another slot is taken. | |
| virtual void | addSlotExclusion (const DtSlotExclusion &) |
| virtual bool | canEmbark (const DtEmbarkationSlotEntry *, const DtVrfObject *) const |
| Returns true if given object can embark in the specified slot. | |
| virtual bool | reserveSlot (int iSlot, const DtString &) |
| Reserves this slot and returns the result of reservation. | |
| virtual void | addIngressPoint (const DtLoadPoint &) |
| virtual void | ingressPoints (int iSlot, const DtVrfObject *embarkingObject, const DtVrfObject *hostObject, DtEmbarkationSlotInformation &info) const |
| Chooses the best ingress for the specified slot, and fills it into <info>. | |
| virtual void | addEgressPoint (const DtLoadPoint &) |
| virtual void | egressPoints (int iSlot, DtEmbarkationSlotInformation &info) const |
| virtual void | giveUpSlot (int, const DtString &) |
| Gives slot back for reservation. | |
| virtual DtEmbarkationSlotManager * | clone (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL) |
| Override to make sure that this object can be copie when PSR is copied. | |
| virtual void | calculateDisembarkPositions (const std::list< DtString > &, DtSimManager *) |
| Calculates the grid size and spacing for objects that are being disembarked via disembark all. | |
| virtual DtVector | nextDisembarkPosition (const DtVrfObject *parent, const DtVrfObject *disembarking, const DtSimManager *simMgr, const DtVector &lastBodyPos, bool tasked) |
| Returns the next disembark final position (in body coordinates). | |
| virtual void | setScalingFactor (double) |
| Scale factor that is applied to the bounding volume of the grid so that there can be some space between each object. | |
| virtual double | scalingFactor () const |
Protected Member Functions | |
| virtual void | calculateGridSize (const std::list< DtString > &, DtSimManager *) |
| Calculates grid size as sqrt of the number of disembarking objects, using the ceiling of that value. | |
| virtual void | calculateGridCellSize (const std::list< DtString > &, DtSimManager *) |
| Calculates the space to fill once cell as the maximum bounding volume (length, width, height) of all objects that are scheduled to disembark. | |
| virtual DtDcm | finalPositionTransformationMatrix (const DtVrfObject *parent, const DtVector &lastBodyPos) const |
| Calculates the transformation matrix used to transform the final disembarkation position to body coordinates. | |
| virtual bool | slotMatches (const DtLoadPoint *, int iSlot) const |
| Returns true if the slot is found in the load point. | |
| virtual void | putData (FILE *fp, int indentLevel=0) |
| Override to create and restore lists of embarked slots. | |
| virtual bool | blocked (int iSlot, const DtSlotExclusion &) const |
| virtual const DtLoadPoint * | bestIngressFor (const DtLoadPoint *ingressA, const DtLoadPoint *ingressB, const DtVrfObject *embarkingObject, const DtVrfObject *hostObject) const |
| virtual DtVector | bodyPositionToLocalPosition (const DtVector &bodyPosition, const DtVrfObject *body) const |
Protected Attributes | |
| DtEmbarkationSlotEntryMap | mySlots |
| DtRwTemplatedListPtr< DtLoadPoint > | myIngressPoints |
| DtRwTemplatedListPtr< DtLoadPoint > | myEgressPoints |
| DtRwTemplatedListPtr < DtSlotExclusion > | mySlotExclusions |
| DtRwVector | myDisembarkGridSize |
| Disembark position variables; Currently only uses x, y varaibles. | |
| DtRwVector | myDisembarkGridCellSize |
| Currently only uses x, y variables for spacing. | |
| DtRwInt | myDisembarkGridCell |
| The currently disembarking grid cell to use. | |
| DtRwTemplatedListPtr < DtReservedSlot > | myReservedSlots |
| Only valid for load/get time. | |
| double | myScalingFactor |
| Local variables. | |
| DtEmbarkationSlotManager::DtEmbarkationSlotManager | ( | const DtString & | name, |
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
| DtEmbarkationSlotManager::DtEmbarkationSlotManager | ( | const DtSymbolString & | name, |
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
| DtEmbarkationSlotManager::DtEmbarkationSlotManager | ( | const DtString & | name, |
| const DtEmbarkationSlotManager & | orig, | ||
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
copy constructor
| DtEmbarkationSlotManager::DtEmbarkationSlotManager | ( | const DtSymbolString & | name, |
| const DtEmbarkationSlotManager & | orig, | ||
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) |
| virtual DtEmbarkationSlotManager::~DtEmbarkationSlotManager | ( | ) | [virtual] |
| virtual void DtEmbarkationSlotManager::addSlot | ( | int | iSlot, |
| const DtEmbarkationSlotEntry * | |||
| ) | [virtual] |
| virtual DtEmbarkationSlotInformation DtEmbarkationSlotManager::slotFor | ( | const DtVrfObject * | embarkingObject, |
| const DtVrfObject * | hostObject | ||
| ) | const [virtual] |
| embarkingObject | is the object which is embarking. |
| hostObject | is the object onto which embarkingObject wishs to embark. |
| virtual DtEmbarkationSlotInformation DtEmbarkationSlotManager::entityEmbarkationSlotInformation | ( | const DtVrfObject * | ) | const [virtual] |
Returns slot information for potentially embarked entity.
| virtual bool DtEmbarkationSlotManager::blocked | ( | int | iSlot | ) | const [virtual] |
Returns true if this slot is blocked from being occupied because another slot is taken.
| virtual void DtEmbarkationSlotManager::addSlotExclusion | ( | const DtSlotExclusion & | ) | [virtual] |
| virtual bool DtEmbarkationSlotManager::canEmbark | ( | const DtEmbarkationSlotEntry * | , |
| const DtVrfObject * | |||
| ) | const [virtual] |
Returns true if given object can embark in the specified slot.
| virtual bool DtEmbarkationSlotManager::reserveSlot | ( | int | iSlot, |
| const DtString & | |||
| ) | [virtual] |
Reserves this slot and returns the result of reservation.
| virtual void DtEmbarkationSlotManager::addIngressPoint | ( | const DtLoadPoint & | ) | [virtual] |
| virtual void DtEmbarkationSlotManager::ingressPoints | ( | int | iSlot, |
| const DtVrfObject * | embarkingObject, | ||
| const DtVrfObject * | hostObject, | ||
| DtEmbarkationSlotInformation & | info | ||
| ) | const [virtual] |
Chooses the best ingress for the specified slot, and fills it into <info>.
| virtual void DtEmbarkationSlotManager::addEgressPoint | ( | const DtLoadPoint & | ) | [virtual] |
| virtual void DtEmbarkationSlotManager::egressPoints | ( | int | iSlot, |
| DtEmbarkationSlotInformation & | info | ||
| ) | const [virtual] |
| virtual void DtEmbarkationSlotManager::giveUpSlot | ( | int | , |
| const DtString & | |||
| ) | [virtual] |
Gives slot back for reservation.
| virtual DtEmbarkationSlotManager* DtEmbarkationSlotManager::clone | ( | const DtString & | name, |
| DtReaderWriterRegistry * | parentRegistry = NULL |
||
| ) | [virtual] |
Override to make sure that this object can be copie when PSR is copied.
| virtual void DtEmbarkationSlotManager::calculateDisembarkPositions | ( | const std::list< DtString > & | , |
| DtSimManager * | |||
| ) | [virtual] |
Calculates the grid size and spacing for objects that are being disembarked via disembark all.
Once this is called, all variables are initialized to start from scratch.
| virtual DtVector DtEmbarkationSlotManager::nextDisembarkPosition | ( | const DtVrfObject * | parent, |
| const DtVrfObject * | disembarking, | ||
| const DtSimManager * | simMgr, | ||
| const DtVector & | lastBodyPos, | ||
| bool | tasked | ||
| ) | [virtual] |
Returns the next disembark final position (in body coordinates).
Uses the reference of the last disembark spot to calculate based on grid cell size and current grid position. If takes is true, extra buffering (scale factor rows) is added to make sure that collision avoidance does not interfere with getting off of entity
| virtual void DtEmbarkationSlotManager::setScalingFactor | ( | double | ) | [virtual] |
Scale factor that is applied to the bounding volume of the grid so that there can be some space between each object.
Default is 2.0
| virtual double DtEmbarkationSlotManager::scalingFactor | ( | ) | const [virtual] |
| virtual void DtEmbarkationSlotManager::calculateGridSize | ( | const std::list< DtString > & | , |
| DtSimManager * | |||
| ) | [protected, virtual] |
Calculates grid size as sqrt of the number of disembarking objects, using the ceiling of that value.
| virtual void DtEmbarkationSlotManager::calculateGridCellSize | ( | const std::list< DtString > & | , |
| DtSimManager * | |||
| ) | [protected, virtual] |
Calculates the space to fill once cell as the maximum bounding volume (length, width, height) of all objects that are scheduled to disembark.
| virtual DtDcm DtEmbarkationSlotManager::finalPositionTransformationMatrix | ( | const DtVrfObject * | parent, |
| const DtVector & | lastBodyPos | ||
| ) | const [protected, virtual] |
Calculates the transformation matrix used to transform the final disembarkation position to body coordinates.
| virtual bool DtEmbarkationSlotManager::slotMatches | ( | const DtLoadPoint * | , |
| int | iSlot | ||
| ) | const [protected, virtual] |
Returns true if the slot is found in the load point.
| virtual void DtEmbarkationSlotManager::putData | ( | FILE * | fp, |
| int | indentLevel = 0 |
||
| ) | [protected, virtual] |
Override to create and restore lists of embarked slots.
Reimplemented from DtReaderWriter.
| virtual bool DtEmbarkationSlotManager::blocked | ( | int | iSlot, |
| const DtSlotExclusion & | |||
| ) | const [protected, virtual] |
| virtual const DtLoadPoint* DtEmbarkationSlotManager::bestIngressFor | ( | const DtLoadPoint * | ingressA, |
| const DtLoadPoint * | ingressB, | ||
| const DtVrfObject * | embarkingObject, | ||
| const DtVrfObject * | hostObject | ||
| ) | const [protected, virtual] |
| hostObject | is the entity on which the embarkingObject is trying to embark. |
| virtual DtVector DtEmbarkationSlotManager::bodyPositionToLocalPosition | ( | const DtVector & | bodyPosition, |
| const DtVrfObject * | body | ||
| ) | const [protected, virtual] |
Disembark position variables; Currently only uses x, y varaibles.
Currently only uses x, y variables for spacing.
DtRwInt DtEmbarkationSlotManager::myDisembarkGridCell [protected] |
The currently disembarking grid cell to use.
Only valid for load/get time.
double DtEmbarkationSlotManager::myScalingFactor [protected] |
Local variables.