VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtRotaryWingCollisionAvoidanceController Class Reference

DtRotaryWingCollisionAvoidanceController is a controller that steers a helicopter away from another entity when the two are on a collision course. More...

Inheritance diagram for DtRotaryWingCollisionAvoidanceController:
Inheritance graph
[legend]

List of all members.

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 DtVrfObjectdetectCollision ()
 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 DtSimComponentcreator (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
DtRotaryWingCollisionAvoidanceControlleroperator= (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
DtRotaryWingColAvoidanceControllerDescriptormyAvoidanceControllerDescriptor

Detailed Description

DtRotaryWingCollisionAvoidanceController is a controller that steers a helicopter away from another entity when the two are on a collision course.

Uses Descriptor Type: DtRotaryWingPilotDescriptor


Constructor & Destructor Documentation

(const DtString&,DtVrfObject*,DtSimManager*,

Parameters:
nameReader writer name of this component.
ownerThe DtVrfObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
(const DtString&,DtVrfObject*,DtSimManager*, DtComponentDescriptor*,DtReaderWriterRegistry* parentRegistry)

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

copy constructor


Member Function Documentation

Overridden to initialize myRotaryWingEntityState.

Reimplemented from DtRotaryWingTaskController.

Calculate new desired inputs.

Reimplemented from DtRotaryWingMoveToControllerComponent.

Detects collisions.

Take control of the port and provide heading + velocity.

Avoid obstacle detected in the previous frames.

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.

Returns:
DtRotaryWingCollisionAvoidanceType

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*,

Parameters:
nameReader writer name of this component.
ownerThe DtVrfObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
(const DtString&,DtVrfObject*,DtSimManager*, DtComponentDescriptor*,DtReaderWriterRegistry* parentRegistry)

Returns:
New instance of this class.

Reimplemented from DtRotaryWingMoveToControllerComponent.

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.

Overrides this so it can register its interest in MoveTo commands.

Reimplemented from DtRotaryWingMoveToControllerComponent.

Resets values to a noncolliding state.

DtRotaryWingCollisionAvoidanceController& DtRotaryWingCollisionAvoidanceController::operator= ( const DtRotaryWingCollisionAvoidanceController orig) [protected]

assignment operator

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.


Member Data Documentation

Shared list of entities.

Parameters used for collision avoidance.

Parameters used for clearing.


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)