18#include <RTD/TraitGroundContact.h>
65 virtual bool query(QueryContext context,
const void* contextData,
const RTD::TerrainQueryUserData* userData,
66 const smVec3d& start,
const smVec3d& end, smVec3d& hitXYZ, smVec3d& hitNormal, smVec3d& hitVelocity,
67 smReal& frictionFactor,
bool& isLiquid,
const RTD::EntityBase*& entity)
override;
82 const void* contextData, Coordinate_System* coordSys, DtPoint startPoint, DtPoint endPoint);
91 bool terrainIntersect(DtVrfChordIntersectionRecord& isectRecord, DtPoint startPoint, DtPoint endPoint);
102 bool simObjectIntersect(DtVrfChordIntersectionRecord& isectRecord, DtUUID& vehicleUuid,
const void* contextData,
103 DtPoint startPoint, DtPoint endPoint);
114 bool calculateHit(DtVrfChordIntersectionRecord& isectRecord, Coordinate_System* coordSys, smVec3d& hitXYZ,
115 smVec3d& hitNormal, smVec3d& hitVelocity);
130 DtVector startLocal, DtVector endLocal, smVec3d& hitXYZ, smVec3d& hitNormal, smVec3d& hitVelocity);
virtual bool query(QueryContext context, const void *contextData, const RTD::TerrainQueryUserData *userData, const smVec3d &start, const smVec3d &end, smVec3d &hitXYZ, smVec3d &hitNormal, smVec3d &hitVelocity, smReal &frictionFactor, bool &isLiquid, const RTD::EntityBase *&entity) override
Performs a terrain query between two points.
bool noTerrainDBIntersect(DtVrfChordIntersectionRecord &isectRecord, Coordinate_System *coordSys, DtVector startLocal, DtVector endLocal, smVec3d &hitXYZ, smVec3d &hitNormal, smVec3d &hitVelocity)
Handles the case where no terrain database is available.
bool calculateHit(DtVrfChordIntersectionRecord &isectRecord, Coordinate_System *coordSys, smVec3d &hitXYZ, smVec3d &hitNormal, smVec3d &hitVelocity)
Calculates hit details from an intersection record.
bool myIsBlocking
Flag indicating whether terrain queries are blocking.
Definition vreRtdTerrainQueryHighFidelity.h:136
virtual ~DtVreRtdTerrainQueryHighFidelity() override
Destructor.
bool terrainIntersect(DtVrfChordIntersectionRecord &isectRecord, DtPoint startPoint, DtPoint endPoint)
Performs a terrain-only intersection test.
DtVreRtdTerrainQueryHighFidelity(DtPhysicalWorld *pw, bool blocking)
Constructor.
bool simObjectIntersect(DtVrfChordIntersectionRecord &isectRecord, DtUUID &vehicleUuid, const void *contextData, DtPoint startPoint, DtPoint endPoint)
Performs a simulation object intersection test.
bool updateAndCheckPositionCache(DtVrfChordIntersectionRecord &isectRecord, DtUUID &vehicleUuid, const void *contextData, Coordinate_System *coordSys, DtPoint startPoint, DtPoint endPoint)
Updates and checks the position cache for queries.
RTD_BASE_COMMON(vreRtd, DtVreRtdTerrainQueryHighFidelity)
Macro for common RTD type definitions.
DtVreRtdTraitTerrainQuery()
Constructor.
Definition vreRtdTraitTerrainQuery.h:34
Definition vreRtdConfigFileReader.h:18
Common definitions for the RTD backend library.
Terrain query trait for VREngage RTD components.