![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: terrainDatabaseToolConfiguration.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef terrainDatabaseToolConfiguration_H_ 00009 #define terrainDatabaseToolConfiguration_H_ 00010 00011 // 00012 // \file tdbToolConfiguration.h 00013 // \brief Contains the DtTerrainDatabaseToolConfiguration class declaration. 00014 // 00015 00016 #include "gdb/gdbDefines.h" 00017 #include <vlutil/vlConfig.h> 00018 #include <vlutil/vlFilename.h> 00019 #include <vector> 00020 00021 // The DtTerrainDatabaseToolConfiguration contains all the configuration information 00022 // for the terrain database tool to process a terrain database. 00023 // 00024 class DT_DLL_gdb DtTerrainDatabaseToolConfiguration 00025 { 00026 public: 00027 00028 DtTerrainDatabaseToolConfiguration(); 00029 00030 virtual ~DtTerrainDatabaseToolConfiguration(); 00031 00032 // \name Accessor functions for the configuration object 00034 00035 bool reduce() const; 00036 void setReduce(bool reduce); 00037 00038 bool triangulateTerrain() const; 00039 void setTriangulateTerrain(bool yesNo); 00040 00041 double reductionTolerance() const; 00042 void setReductionTolerance(double tolerance); 00043 00044 bool collapseCSNodes() const; 00045 void setCollapseCSNodes(bool collapse); 00046 00047 bool convertToGeocentric() const; 00048 void setConvertToGeocentric(bool convert); 00049 00050 bool convertToFlatEarth() const; 00051 void setConvertToFlatEarth(bool convert); 00052 00053 bool rebalance() const; 00054 void setRebalance(bool rebalance); 00055 00056 unsigned branching() const; 00057 void setBranching(unsigned branching); 00058 00059 unsigned leafing() const; 00060 void setLeafing(unsigned leafing); 00061 00062 bool clipVectorData() const; 00063 void setClipVectorData(bool clipVectorData); 00064 00065 bool planarizeVectorData() const; 00066 void setPlanarizeVectorData(bool planarizeVectorData); 00067 00068 double planarizeTolerance() const; 00069 void setPlanarizeTolerance(double planarizeTolerance); 00070 00071 unsigned planarizeExcessiveEdgeCount() const; 00072 void setPlanarizeExcessiveEdgeCount(unsigned excessiveEdgeCount); 00074 00075 // This function returns whether or not the configuration 00076 // object is properly configured or not. If any inappropriate 00077 // grouping or values for arguments are detected, this will return 00078 // false. 00079 // \return a boolean indicating the state of the configuration object. 00080 bool validConfiguration() const; 00081 00082 virtual bool originSet() const; 00083 virtual void setOrigin(bool flag); 00084 00085 virtual bool moveOrigin() const; 00086 virtual void setMoveOrigin(bool flag); 00087 00088 // Note that latitude and longitude must be 00089 // of the format D:M:S (degrees:minutes:seconds) 00090 const DtString& latitude() const; 00091 void setLatitude(const DtString& lat); 00092 00093 const DtString& longitude() const; 00094 void setLongitude(const DtString& lon); 00095 00096 // Values in radians. Must be set by user as it is not 00097 // set as a function of setting the string values 00098 double radiansLatitude() const; 00099 void setRadiansLatitude(double lat); 00100 00101 double radiansLongitude() const; 00102 void setRadiansLongitude(double lon); 00103 00104 unsigned zone() const; 00105 void setZone(unsigned zone); 00106 00107 private: 00108 00109 bool myReduce; 00110 double myReductionTolerance; 00111 bool myTriangulateTerrain; 00112 00113 bool myCollapseCSNodes; 00114 bool myConvertToGeocentric; 00115 bool myConvertToFlatEarth; 00116 00117 bool myRebalance; 00118 unsigned myBranching; 00119 unsigned myLeafing; 00120 00121 bool myClipVectorData; 00122 bool myPlanarizeVectorData; 00123 double myPlanarizeTolerance; 00124 unsigned myPlanarizeExcessiveEdgeCount; 00125 00126 bool mySetOrigin; 00127 bool myMoveOrigin; 00128 DtString myLatitude; 00129 DtString myLongitude; 00130 double myRadiansLatitude; 00131 double myRadiansLongitude; 00132 unsigned myZone; 00133 }; 00134 00135 00136 #endif