12 #ifndef opcodeTerrainIntersectorImpl_h
13 #define opcodeTerrainIntersectorImpl_h
15 #define BAN_OPCODE_AUTOLINK
20 #include <vlutil/vlMutex.h>
27 #ifdef LOG_INTERSECTIONS
53 virtual DtString initStateText()
const;
56 virtual unsigned int memoryUsage()
const;
59 virtual bool chordIntersect(
const DtChord& chord,
63 virtual bool allIntersectsAlongChord(
const DtChord& chord,
72 typedef std::pair<DtChordIntersectionRecord*, DtOpcodeTerrainIntersectorImpl*>
RecordMeshPair;
74 virtual bool makeOpcodeTriangleIndex(
DtGdbNode* node);
77 virtual void makeIndexedTriangleArray();
80 virtual bool intersectAnyFileNode(
const DtChord& chord, std::vector<DtFileNode*>& vec)
const;
84 virtual bool intersectAnyFileNode(
const DtSphere& sphere, std::vector<DtFileNode*>& vec)
const;
87 virtual bool lessDistance(
const Opcode::CollisionFace& c1,
const Opcode::CollisionFace& c2);
103 #ifdef LOG_INTERSECTIONS
104 typedef std::list<std::pair<DtChord, DtGdbNode::DtIntersectRecordType> > DtIntersectionHistoryList;
105 mutable DtIntersectionHistoryList myIntersectionHistory;
106 mutable bool myIntersectionHistoryStarted;
108 void writeIntersectionHistory()
const;
TriangleIndexType myTriangleIndex
Definition: opcodeTerrainIntersectorImpl.h:94
Opcode::Model myOpcodeModel
Definition: opcodeTerrainIntersectorImpl.h:97
DtTerrainDatabase * myTerrainDb
Definition: opcodeTerrainIntersectorImpl.h:115
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
Definition: chordIntersectionRecord.h:23
DtString myInitStateText
Definition: opcodeTerrainIntersectorImpl.h:101
Definition: chordIntersectRecordList.h:29
std::pair< DtChordIntersectionRecord *, DtOpcodeTerrainIntersectorImpl * > RecordMeshPair
Definition: opcodeTerrainIntersectorImpl.h:72
IndexedTriangle * myIndexedTriangleArray
Definition: opcodeTerrainIntersectorImpl.h:93
Opcode::OPCODECREATE myOPC
Definition: opcodeTerrainIntersectorImpl.h:99
Definition: sphereIntersectionRecord.h:19
DtIntersectRecordType
Definition: gdbNode.h:74
#define DT_DLL_gdb
Definition: gdbDefines.h:25
unsigned int myNumberOfTriangles
Definition: opcodeTerrainIntersectorImpl.h:96
std::vector< DtFileNode * > myFileNodes
Definition: opcodeTerrainIntersectorImpl.h:116
unsigned int myNumberOfVertices
Definition: opcodeTerrainIntersectorImpl.h:95
Definition: fileNode.h:36
A DtChord is a finite line segment in 3-space, represented by two points.
Opcode::MeshInterface myMeshInterface
Definition: opcodeTerrainIntersectorImpl.h:100
std::vector< DtTriangleIndirect * > TriangleIndexType
Definition: opcodeTerrainIntersectorImpl.h:91
Definition: terrainDatabase.h:148
DtMutex myIntersectMutex
Definition: opcodeTerrainIntersectorImpl.h:114
Definition: opcodeTerrainIntersectorImpl.h:41