![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: dfadInit.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef dfadInit_H_ 00009 #define dfadInit_H_ 00010 00011 // \file dfadInit.h 00012 // \brief This file contains the DtDfadInitializer class declaration. 00013 00014 #include "dted/dtedDefines.h" 00015 #include "gdb/vectorDataInitializer.h" 00016 #include <matrix/mapDatum.h> 00017 #include "geometry/point.h" 00018 #include <vlutil/vlFilename.h> 00019 00020 // The DFAD metafile record has a list of individual DFAD files 00021 class DT_DLL_dted DtDfadInitializer : public DtVectorDataInitializer 00022 { 00023 00024 public: 00025 00026 // default constructor. 00027 DtDfadInitializer(); 00028 00029 // destructor 00030 virtual ~DtDfadInitializer(); 00031 00032 // copy constructor 00033 DtDfadInitializer(const DtDfadInitializer& orig); 00034 00035 // assignment operator 00036 DtDfadInitializer& operator=(const DtDfadInitializer& orig); 00037 00038 virtual DtString type(); 00039 00040 virtual DtFilename importFile() const; 00041 virtual void setImportFile(const DtFilename &file); 00042 00043 virtual DtFilename fidSmcFile() const; 00044 virtual void setFidSmcFile(const DtFilename &file); 00045 00046 // set/get Semi-Major axis for ellipsoid 00047 virtual void setMajorAxis(const double& major); 00048 virtual const double& majorAxis() const; 00049 00050 // set/get Semi-Minor axis for ellipsoid 00051 virtual void setMinorAxis(const double& minor); 00052 virtual const double& minorAxis(); 00053 00054 // Sets from major/minor and shifts 00055 virtual DtMapDatum mapDatum(); 00056 00057 // set/get datum shift 00058 virtual void setDatumShift(const DtPoint & shift); 00059 virtual DtPoint datumShift() const; 00060 00061 // The following is only relevant for projected TM coordinate systems: 00062 00063 // set/get the projection's central scale 00064 virtual void setProjectionScale(const double& scale); 00065 virtual const double& projectionScale() const; 00066 00067 // If inverse flattening is non-zero, when the minor axis is requested, 00068 // even if it has been defined in the map file, it will still be defined 00069 // in terms of the inverse flattening (i.e. inverse flattening takes 00070 // precedence) 00071 virtual void setInverseFlattening(double); 00072 virtual const double& inverseFlattening() const; 00073 00074 protected: 00075 00076 DtFilename myImportFile; 00077 DtFilename myFidSmcFile; 00078 00079 DtMapDatum myMapDatum; 00080 double myProjectionCentralScale; 00081 double myInverseFlattening; 00082 bool mySetMapDatumFromCurrent; 00083 }; 00084 00085 #endif