![]() |
VR-Forces 4.0.4 Class Documentation
|
DtRotaryWingCollisionAvoidanceController is a controller that steers a helicopter away from another entity when the two are on a collision course. More...

Public Member Functions | |
| DtRotaryWingCollisionAvoidanceController (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) | |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
| virtual | ~DtRotaryWingCollisionAvoidanceController () |
| destructor | |
| virtual bool | init () |
| Overridden to initialize myRotaryWingEntityState. | |
| virtual void | tick () |
| Calculate new desired inputs. | |
| virtual DtVrfObject * | detectCollision () |
| Detects collisions. | |
| virtual bool | checkEntityForCollision (DtVrfObject *collidee) |
| virtual void | avoidCollision (DtVrfObject *collidee) |
| Take control of the port and provide heading + velocity. | |
| virtual void | processExistingCollision () |
| Avoid obstacle detected in the previous frames. | |
| virtual DtString | type () const |
| Returns a string identifies the class type of component. | |
| virtual bool | distCleared () |
| Assesses whether or not clearance has taken place. | |
| virtual double | timeToMinimumDistance (const DtVector &deltaVel, const DtVector &deltaPos) const |
| Calculates the time until the two platforms are the minimum distance apart, assuming constant linear trajectories. | |
| virtual void | registerTaskMsgCallbacks () |
| Overrides this so it can register its interest in MoveTo commands. | |
| virtual void | clearCollision () |
| Resets values to a noncolliding state. | |
Static Public Member Functions | |
| static DtSimComponent * | creator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
Protected Member Functions | |
| DtRotaryWingCollisionAvoidanceController () | |
| If a copy constructor is implemented, the assignment operator should also be implemented. | |
| DtRotaryWingCollisionAvoidanceController (const DtRotaryWingCollisionAvoidanceController &orig) | |
| copy constructor | |
| DtRotaryWingCollisionAvoidanceController & | operator= (const DtRotaryWingCollisionAvoidanceController &orig) |
| assignment operator | |
| virtual void | checkMinDiveAltitude () |
| Check for the current altitude, prevent diving to the ground. | |
| virtual void | pilotProperties () |
| Sets the pilot properties. | |
Protected Attributes | |
| DtManagedObjectListConstPtr | myPhysicalEntityList |
| Shared list of entities. | |
| DtVector | myEvadeDirection |
| Parameters used for collision avoidance. | |
| DtReal | myRelativeVelMag |
| DtReal | myCurrentDistanceSq |
| DtVector | myClearingPt |
| Parameters used for clearing. | |
| DtObjectId | myObjectId |
| DtObjectId | myCollidee |
| bool | myHavePortGroup |
| bool | myIsColliding |
| bool | myIsClearing |
| bool | myTooLow |
| DtRotaryWingColAvoidanceControllerDescriptor * | myAvoidanceControllerDescriptor |
DtRotaryWingCollisionAvoidanceController is a controller that steers a helicopter away from another entity when the two are on a collision course.
Uses Descriptor Type: DtRotaryWingPilotDescriptor
| DtRotaryWingCollisionAvoidanceController::DtRotaryWingCollisionAvoidanceController | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
| virtual DtRotaryWingCollisionAvoidanceController::~DtRotaryWingCollisionAvoidanceController | ( | ) | [virtual] |
destructor
If a copy constructor is implemented, the assignment operator should also be implemented.
Should generally implement both of them anyway to avoid memory problems due to inappropriate compiler provided defaults. Access varies so need to put proper access keyword above these declarations. default constructor
| DtRotaryWingCollisionAvoidanceController::DtRotaryWingCollisionAvoidanceController | ( | const DtRotaryWingCollisionAvoidanceController & | orig | ) | [protected] |
copy constructor
| virtual bool DtRotaryWingCollisionAvoidanceController::init | ( | ) | [virtual] |
Overridden to initialize myRotaryWingEntityState.
Reimplemented from DtRotaryWingTaskController.
| virtual void DtRotaryWingCollisionAvoidanceController::tick | ( | ) | [virtual] |
Calculate new desired inputs.
Reimplemented from DtRotaryWingMoveToControllerComponent.
| virtual DtVrfObject* DtRotaryWingCollisionAvoidanceController::detectCollision | ( | ) | [virtual] |
Detects collisions.
| virtual bool DtRotaryWingCollisionAvoidanceController::checkEntityForCollision | ( | DtVrfObject * | collidee | ) | [virtual] |
| virtual void DtRotaryWingCollisionAvoidanceController::avoidCollision | ( | DtVrfObject * | collidee | ) | [virtual] |
Take control of the port and provide heading + velocity.
| virtual void DtRotaryWingCollisionAvoidanceController::processExistingCollision | ( | ) | [virtual] |
Avoid obstacle detected in the previous frames.
| virtual DtString DtRotaryWingCollisionAvoidanceController::type | ( | ) | const [virtual] |
Returns a string identifies the class type of component.
Type values are defined in compTypes.h. DtSimComponent creation functions are registered with the DtSimComponentFactory using the type values as the key.
Reimplemented from DtRotaryWingMoveToControllerComponent.
| static DtSimComponent* DtRotaryWingCollisionAvoidanceController::creator | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) | [static] |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
Reimplemented from DtRotaryWingMoveToControllerComponent.
| virtual bool DtRotaryWingCollisionAvoidanceController::distCleared | ( | ) | [virtual] |
Assesses whether or not clearance has taken place.
| virtual double DtRotaryWingCollisionAvoidanceController::timeToMinimumDistance | ( | const DtVector & | deltaVel, |
| const DtVector & | deltaPos | ||
| ) | const [virtual] |
Calculates the time until the two platforms are the minimum distance apart, assuming constant linear trajectories.
| virtual void DtRotaryWingCollisionAvoidanceController::registerTaskMsgCallbacks | ( | ) | [virtual] |
Overrides this so it can register its interest in MoveTo commands.
Reimplemented from DtRotaryWingMoveToControllerComponent.
| virtual void DtRotaryWingCollisionAvoidanceController::clearCollision | ( | ) | [virtual] |
Resets values to a noncolliding state.
| DtRotaryWingCollisionAvoidanceController& DtRotaryWingCollisionAvoidanceController::operator= | ( | const DtRotaryWingCollisionAvoidanceController & | orig | ) | [protected] |
assignment operator
| virtual void DtRotaryWingCollisionAvoidanceController::checkMinDiveAltitude | ( | ) | [protected, virtual] |
Check for the current altitude, prevent diving to the ground.
| virtual void DtRotaryWingCollisionAvoidanceController::pilotProperties | ( | ) | [protected, virtual] |
Sets the pilot properties.
Overridden here so that alternative values from the defaults can be set.
Reimplemented from DtRotaryWingMoveToControllerComponent.
DtManagedObjectListConstPtr DtRotaryWingCollisionAvoidanceController::myPhysicalEntityList [protected] |
Shared list of entities.
Parameters used for collision avoidance.
DtReal DtRotaryWingCollisionAvoidanceController::myRelativeVelMag [protected] |
DtReal DtRotaryWingCollisionAvoidanceController::myCurrentDistanceSq [protected] |
Parameters used for clearing.
DtObjectId DtRotaryWingCollisionAvoidanceController::myObjectId [protected] |
DtObjectId DtRotaryWingCollisionAvoidanceController::myCollidee [protected] |
DtRotaryWingColAvoidanceControllerDescriptor* DtRotaryWingCollisionAvoidanceController::myAvoidanceControllerDescriptor [protected] |