VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtGroundAggregatePathMetric Class Reference

This path metric is intended for aggregates of ground entities. More...

Inheritance diagram for DtGroundAggregatePathMetric:
Inheritance graph
[legend]

Public Member Functions

DtGroundAggregatePathMetric (const DtVrfObject *entity)
 
**virtual ~DtGroundAggregatePathMetric ()
 
****virtual bool init ()
 Locates the lead entity of this aggregate and sets. More...
 
****virtual double transitionCost (const DtPoint &startPoint,*const DtPoint &endPoint) const
 Calculates the cost of moving directly from startPoint to endPoint for. More...
 
*******virtual double individualTransitionCost (const DtPoint &startPoint,*const DtPoint &endPoint) const
 Calculates the cost of a single parallel route. More...
 
***virtual double turningCost (double cosAngle) const
 Returns a cost based on the turning radius of the vehicle. More...
 
******virtual void setTerrainSampleDistance (double distance)
 Sets the distance between terrain sample points used when. More...
 
***virtual double terrainSampleDistance () const
 Returns the current terrain sample distance. More...
 
*****virtual void setTerrainSampleWidth (double width)
 Average width between samples along the lateral axis of the aggregate. More...
 
*virtual double terrainSampleWidth () const
 

Static Public Member Functions

***static DtPathMetriccreator (const DtVrfObject *entity)
 

Protected Member Functions

**virtual bool getLeadEntityParameters ()
 

Protected Attributes

***const
DtGroundVehicleParameters
myLeadEntityParameters
 Parameters for the lead entity of this aggregate. More...
 
*double myAggregateWidth
 
**DtPhysicalWorldmyPhysicalWorld
 
***double myTerrainSampleDistance
 Average distance between samples along the evaluated routes. More...
 
**double myTerrainSampleWidth
 Average width between samples along the lateral axis of the aggregate. More...
 

Detailed Description

This path metric is intended for aggregates of ground entities.

When init() is called, the current width (defined by the bounding volume geometry) of the entire aggregate is recorded, and a lead entity is found by taking the first subordinate of the aggregate (as many time as necessary if this is an aggregate of aggregates) until a leaf node is found. (i.e. an entity with no subordinates) This entity must have a DtGroundVehicleParameters parameter entry, and these parameters are used to determine how the aggregate will move across the terrain. Transition cost is found by evaluating a number of parallel paths based on the width of the aggregate along each proposed path. The average of these costs is returned.

Constructor & Destructor Documentation

* DtGroundAggregatePathMetric::DtGroundAggregatePathMetric ( const DtVrfObject entity)
* * virtual DtGroundAggregatePathMetric::~DtGroundAggregatePathMetric ( )
virtual

Member Function Documentation

* * * * virtual bool DtGroundAggregatePathMetric::init ( )
virtual

Locates the lead entity of this aggregate and sets.

the myLeadEntityParameters field.

* * * * virtual double DtGroundAggregatePathMetric::transitionCost ( const DtPoint startPoint,
*const DtPoint endPoint 
) const
virtual

Calculates the cost of moving directly from startPoint to endPoint for.

each of the parallel routes used by each subordinate.

* * * * * * * virtual double DtGroundAggregatePathMetric::individualTransitionCost ( const DtPoint startPoint,
*const DtPoint endPoint 
) const
virtual

Calculates the cost of a single parallel route.

Note: this function makes a blocking terrain call to insure the required data is paged in. It also sets overrideBlockingAssert on its call to DtPhysicalWorld::terrainHeightAndSurface to prevent an assertion. This is safe because this function is not called from the main simulation thread.

* * * virtual double DtGroundAggregatePathMetric::turningCost ( double  cosAngle) const
virtual

Returns a cost based on the turning radius of the vehicle.

* * * * * * virtual void DtGroundAggregatePathMetric::setTerrainSampleDistance ( double  distance)
virtual

Sets the distance between terrain sample points used when.

calculating the cost of moving between two points. This distance will be the average used. Default is 5m.

* * * virtual double DtGroundAggregatePathMetric::terrainSampleDistance ( ) const
virtual

Returns the current terrain sample distance.

* * * * * virtual void DtGroundAggregatePathMetric::setTerrainSampleWidth ( double  width)
virtual

Average width between samples along the lateral axis of the aggregate.

Default is 10m.

* virtual double DtGroundAggregatePathMetric::terrainSampleWidth ( ) const
virtual
* * * static DtPathMetric* DtGroundAggregatePathMetric::creator ( const DtVrfObject entity)
static
* * virtual bool DtGroundAggregatePathMetric::getLeadEntityParameters ( )
protectedvirtual

Member Data Documentation

* * * const DtGroundVehicleParameters* DtGroundAggregatePathMetric::myLeadEntityParameters
protected

Parameters for the lead entity of this aggregate.

(these parameters are the ones used to find the path)

* double DtGroundAggregatePathMetric::myAggregateWidth
protected
* * DtPhysicalWorld* DtGroundAggregatePathMetric::myPhysicalWorld
protected
* * * double DtGroundAggregatePathMetric::myTerrainSampleDistance
protected

Average distance between samples along the evaluated routes.

* * double DtGroundAggregatePathMetric::myTerrainSampleWidth
protected

Average width between samples along the lateral axis of the aggregate.


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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)