27 #include <vlutil/vlFilename.h>
28 #include <vlutil/vlConfig.h>
194 virtual bool initIntersector();
197 virtual const DtFilename& fileName()
const;
198 virtual void setFileName(
const DtFilename& arg);
205 virtual void setDataType(
const DtString& newDataType);
211 virtual unsigned int versionNumber()
const;
212 virtual void setVersionNumber(
unsigned int versionNumber);
220 virtual CS_Type coordinateSystemType()
const;
240 virtual bool transformCoordinateSystem(
Coordinate_System* newCoordSys,
bool allowReflect =
false,
250 bool createNewVertices);
258 virtual const DtGroup* terrain()
const;
259 virtual bool setTerrain(
DtGroup* newTerrain);
264 virtual const DtGroup* features()
const;
265 virtual bool setFeatures(
DtGroup* newFeatures);
268 virtual int featureCount()
const;
297 virtual bool createPolygon(
const std::vector<DtVertex>& vertices,
300 bool addToStart =
false);
308 virtual bool createPolygon(
const std::vector<DtVertexID>& vertexIDList,
311 bool addToStart =
false);
324 bool addToStart =
false);
337 bool addToStart =
false);
364 virtual void recomputeExtent()
const;
367 virtual void getExtent(
DtExtent& extent)
const;
373 virtual bool planarizeVectorNetwork(DtReal tolerance,
unsigned int excessiveEdgeCount);
376 virtual bool clipVectorNetwork(
const DtPoint& southWestPoint,
377 const DtPoint& northEastPoint);
380 virtual bool clipVectorNetwork();
408 virtual double terrainHeight(
const DtPoint& localLocation)
const;
409 virtual double terrainHeight(
const DtVector& localLocation)
const;
410 virtual double terrainHeight(
double lat,
double lon)
const;
416 virtual bool terrainHeight(
const DtPoint& localLocation,
double& height)
const;
417 virtual bool terrainHeight(
const DtVector& localLocation,
double& height)
const;
418 virtual bool terrainHeight(
double lat,
double lon,
double& height)
const;
439 virtual bool terrainHeightAndSoilType(
const DtVector& localLocation,
double& height,
DtSoilType& soilType)
const;
440 virtual bool terrainHeightAndSoilType(
double lat,
double lon,
double& height,
DtSoilType& soilType)
const;
463 virtual bool terrainHeightAndIntersection(
const DtVector& localLocation,
double& height,
488 virtual bool closestIntersection(
const DtVector& localLocation,
494 virtual bool closestIntersection(
double lat,
502 virtual bool closestIntersection(
const DtVector& localLocation,
509 virtual bool closestIntersection(
double lat,
516 virtual bool closestIntersection(
const DtList& localLocationList,
518 int& numIntersections,
521 DtList *vectorList = 0)
const;
525 virtual bool intersect(
528 double& intersectionTime,
536 virtual bool intersect(
546 virtual bool intersect(
const DtSphere& sphere,
557 virtual bool allIntersectsAlongChord(
562 DtList *vectorList = 0)
const;
577 virtual bool intersectList(
578 const DtList& chordList,
580 int& numTerrainIntersections,
581 int& numVectorNetworkIntersections,
584 DtList *vectorList = 0)
const;
602 virtual bool allIntersectsAlongChordList(
603 const DtList& chordList,
605 int& numTerrainIntersections,
606 int& numVectorNetworkIntersections,
609 DtList *vectorListList = 0)
const;
640 virtual bool intersectVectorNetwork(
651 virtual bool intersectVectorNetwork(
655 DtList* vectorList)
const;
663 virtual bool intersectChordsWithVectorNetwork(
664 const DtList& chordList,
667 DtList* vectorList)
const;
675 virtual bool intersectLocationsOnVectorNetwork(
676 const DtList& localLocationList,
679 DtList* vectorList)
const;
689 virtual bool allIntersectionsWithVectorNetworkAlongChordList(
690 const DtList& chordList,
693 DtList* vectorListList)
const;
699 virtual void reduce();
705 virtual void eliminateDuplicateVertices(
const double tol);
708 virtual void eliminateDuplicateSurfaces(
void);
713 virtual void polygonNodesToTriangleNodes();
723 virtual void balanceTerrain(
unsigned int branching,
724 unsigned int bushiness);
728 virtual int terrainIntersectorType()
const;
736 virtual DtColor mostCommonTerrainSkinColorWithin(
const DtExtent& e)
const;
759 virtual bool setFromExtent(
const DtExtent& e);
762 virtual bool groundClamp(
DtPoint& databaseCoord,
float const offset = 0)
const;
765 virtual void addTerrainModifiedCallback(
769 virtual void removeTerrainModifiedCallback(
774 virtual void terrainWasModified(
const DtExtent& changedVolume);
783 virtual bool collapseNodeTree();
789 virtual int sizeInBytes()
const;
798 virtual int totalOfPolygons()
const;
804 virtual int loadExternalReferences(
int level=1);
813 int optionalDataFlags()
const;
826 bool calculateExtremePoints();
828 bool testInvariant()
const;
831 virtual void processTerrainModifiedCallbacks(
const DtExtent& changedVolume);