![]() |
VR-Forces 4.10 Class Documentation
|
This path metric is intended for aggregates of ground entities. More...

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 DtPathMetric * | creator (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 |
| **DtPhysicalWorld * | myPhysicalWorld |
| ***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... | |
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.
| * DtGroundAggregatePathMetric::DtGroundAggregatePathMetric | ( | const DtVrfObject * | entity | ) |
|
virtual |
|
virtual |
Locates the lead entity of this aggregate and sets.
the myLeadEntityParameters field.
|
virtual |
Calculates the cost of moving directly from startPoint to endPoint for.
each of the parallel routes used by each subordinate.
|
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.
Returns a cost based on the turning radius of the vehicle.
|
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 |
Returns the current terrain sample distance.
|
virtual |
Average width between samples along the lateral axis of the aggregate.
Default is 10m.
|
virtual |
|
static |
|
protectedvirtual |
|
protected |
Parameters for the lead entity of this aggregate.
(these parameters are the ones used to find the path)
|
protected |
|
protected |
|
protected |
Average distance between samples along the evaluated routes.
|
protected |
Average width between samples along the lateral axis of the aggregate.