![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: terrainDbUtilities.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 ******************************************************************************/ 00008 #ifndef terrainDbUtilities_H_ 00009 #define terrainDbUtilities_H_ 00010 00011 // 00012 // \file terrainDbUtilities.h 00013 // \brief Contains functions related to the DtTerrainDatabase or operations performed 00014 // on it that, while related, are not part of its interface. 00015 // 00016 00017 #include "gdb/gdbDefines.h" 00018 #include "gdb/gdbNode.h" 00019 00020 class DtTerrainDatabase; 00021 class DtPoint; 00022 class DtChordIntersectionRecord; 00023 class DtVectorNetworkRecord; 00024 class DtVectorNetworkIntersectionRecord; 00025 00026 00027 // Intersect the specified terrain database, at the specified location, and return 00028 // the intersection results, if any, in the specified chord intersection record. 00029 // If the vector network parameters are present, then the associated intersection 00030 // will be performed as well, and appropriate results returned if any. 00031 // \return A boolean indicating whether or not any intersection occured, as configured. 00032 DT_DLL_gdb bool intersectTerrain(DtTerrainDatabase& terrainDatabase, 00033 const DtVector& localLocation, DtChordIntersectionRecord& record, 00034 DtGdbNode::DtIntersectRecordType irtFlag, 00035 DtVectorNetworkRecord* vectorRecord, 00036 DtVectorNetworkIntersectionRecord* vectorIntersectionRecord); 00037 00038 // \return A chord at the specified location, of the specified half-length, 00039 // in the direction of gravity. 00040 DT_DLL_gdb DtChord createVerticleChord(const DtVector& location, 00041 const DtVector& downDirection, double chordHalfLength); 00042 00043 // Merges the feature data from sourceData into the mergeTarget terrain 00044 // database. Coordinate systems are converted as necessary. 00045 // \note sourceData may be altered if a coordinate system transform is 00046 // necessary for the merge. 00047 DT_DLL_gdb bool mergeFeatureData(DtTerrainDatabase& sourceData, 00048 DtTerrainDatabase& mergeTarget); 00049 #endif