![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00009 00012 00013 #pragma once 00014 00015 #include "vrfobjcore/pathMetric.h" 00016 00017 class DtGroundVehicleParameters; 00018 class DtPhysicalWorld; 00019 00033 #include "vrfmodel/vrfmodelDefines.h" 00034 class DT_DLL_vrfmodel DtGroundAggregatePathMetric : public DtPathMetric 00035 { 00036 public: 00037 DtGroundAggregatePathMetric(DtVrfObject* entity); 00038 00039 virtual ~DtGroundAggregatePathMetric(); 00040 00043 virtual bool init(); 00044 00047 virtual double transitionCost(const DtPoint& startPoint, 00048 const DtPoint& endPoint) const; 00049 00055 virtual double individualTransitionCost(const DtPoint& startPoint, 00056 const DtPoint& endPoint) const; 00057 00059 virtual double turningCost(double cosAngle) const; 00060 00065 virtual void setTerrainSampleDistance(double distance); 00066 00068 virtual double terrainSampleDistance() const; 00069 00073 virtual void setTerrainSampleWidth(double width); 00074 virtual double terrainSampleWidth() const; 00076 00077 static DtPathMetric* creator(DtVrfObject* entity); 00078 00079 protected: 00080 00081 virtual bool getLeadEntityParameters(); 00082 00083 protected: 00086 const DtGroundVehicleParameters* myLeadEntityParameters; 00087 double myAggregateWidth; 00088 00089 DtPhysicalWorld* myPhysicalWorld; 00090 00092 double myTerrainSampleDistance; 00094 double myTerrainSampleWidth; 00095 }; 00096 00097