45 typedef std::map<DtLifeformStaticPosture, DtLifeformState>
82 virtual double calculateMaxSpeed()
const;
84 virtual double maxSpeedSoilFactor()
const;
86 virtual DtVector calculateProjectedLocation(
103 virtual void calculateOrientationAndPosition(
104 const DtVector& newLocalProjectedLocation,
double newHeading,
double newFacingOrientation,
105 DtDcm& newLocalOrientation, DtDcm& newLocalDirectionOfMovement,
DtVector& newLocalPosition);
109 virtual double stepUpFractionLimit()
const;
113 virtual double underWaterFraction()
const;
139 virtual double altitudeForNoTerrainBelow(
double projectedPointAlt,
141 double surfacePointAlt)
const;
151 virtual double altitudeForDropToSurface(
double projectedPointAlt,
153 double surfacePointAlt)
const;
158 virtual double altitudeForNearbySurface(
double projectedPointAlt,
160 double surfacePointAlt)
const;
173 virtual double altitudeForNoSurface(
double projectedPointAlt,
178 virtual void updateRepository(
const DtVector & position,
180 const DtTaitBryan & localOrientation,
const DtVector& rotationalVelocity,
186 virtual void computeAndSetPosture();
206 virtual bool checkForTerrainCollisions()
const;
212 virtual bool checkBlockedByTerrain(
const DtVector& oldLocalPosition,
213 DtVector& newLocalProjectedLocation);
220 virtual double maxUprightTerrainPitch()
const;
226 virtual double maxWalkingSpeed()
const;
229 virtual void initializeStaticToDynamicPostureMap();
232 virtual bool computeEntityDirOfMovement(
double& heading)
const;
236 virtual double calculateTerrainPitch(
const DtVector& localPosition,
257 virtual bool getSurfacesBelow(
const DtVector& testPosition,
258 double underWaterLimit,
260 DtChordIntersectRecordList& intList);
265 virtual bool closestSurfaceAbove(
const DtVector& testPosition,
267 double &altitude, DtSurface &surface);
272 virtual bool isWater(
const DtSurface & surface);
276 virtual void calculateOrientationAndPositionCrawling(
277 const DtVector& newLocalProjectedLocation,
double newHeading,
double newFacingOrientation,
278 DtDcm& newLocalOrientation, DtDcm& newLocalDirectionOfMovement,
DtVector& newLocalPosition);
280 virtual void groundClamp(
double heading,
283 virtual void calculateDirectionOfLinearMotion(
284 const DtDcm& newLocalOrientation,
double desiredDirectionOfMovement,
const DtVector& newLocalPosition,
285 DtDcm& newLocalDirectionOfLinearMotion);
292 virtual bool closestIntersectionWithBias(
const DtVector& localPosition, DtChordIntersectionRecord& record,
293 DtIntersectionRecord::DtIntersectionType irtFlag,
double bias,
296 virtual void groundClampLowFidelity(
double heading,