![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: extentInitializer.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef extentInitializer_H_ 00009 #define extentInitializer_H_ 00010 00011 // \file extentInitializer.h 00012 // Contains the DtExtentInitializer class declaration. 00013 00014 #include "gdb/gdbDefines.h" 00015 #include "gdb/terrainInitializer.h" 00016 #include "gdb/terrainDb.h" 00017 #include "geometry/point.h" 00018 #include "geometry/surface.h" 00019 00020 // The DtExtentInitializer class contains the parameters to create a terrain 00021 // database of the specified extent, coordinate system, and surface. 00022 class DT_DLL_gdb DtExtentInitializer : public DtTerrainInitializer 00023 { 00024 00025 public: 00026 00027 DtExtentInitializer(); 00028 00029 virtual ~DtExtentInitializer(); 00030 00031 // copy constructor 00032 DtExtentInitializer(const DtExtentInitializer& orig); 00033 00034 // assignment operator 00035 DtExtentInitializer& operator=(const DtExtentInitializer& orig); 00036 00037 virtual DtString type() const; 00038 00039 // \return The coordinate system type. 00040 virtual CS_Type coordinateSystemType() const; 00041 // Sets the coordinate system type. 00042 virtual void setCoordinateSystemType(CS_Type typ); 00043 00044 // \return The extent for the terrain. 00045 virtual DtExtent extent() const; 00046 00047 // UTM specific accessors 00048 // Returns/sets a world coordinate that specifies the utm origin. 00049 virtual const DtPoint origin() const; 00050 virtual void setOrigin(const DtPoint& point); 00051 00052 // LCC specific accessors 00053 // Return/set each of the initialization parameters for the LCC coordinate system. 00054 virtual const DtFloat64 lam0() const; 00055 virtual void setLam0(DtFloat64 val); 00056 00057 virtual const DtFloat64 phi0() const; 00058 virtual void setPhi0(DtFloat64 val); 00059 00060 virtual const DtFloat64 phi1() const; 00061 virtual void setPhi1(DtFloat64 val); 00062 00063 virtual const DtFloat64 phi2() const; 00064 virtual void setPhi2(DtFloat64 val); 00065 00066 // Returns/sets the southwest corner of the terrain. 00067 virtual const DtPoint& swCorner() const; 00068 virtual void setSwCorner(const DtPoint& point); 00069 00070 // Returns/sets the northeast corner of the terrain. 00071 virtual const DtPoint& neCorner() const; 00072 virtual void setNeCorner(const DtPoint& point); 00073 00074 virtual const DtSurface surface() const; 00075 virtual void setSurface(const DtSurface& newSurface); 00076 00077 // Number of triangles to have in x/y grid. Default is 2 x 1 00078 virtual void setTesselate(int x, int y); 00079 virtual void setTesselateX(int); 00080 virtual void setTesselateY(int); 00081 00082 virtual int tesselateX() const; 00083 virtual int tesselateY() const; 00084 virtual void tesselate(int& x, int& y) const; 00085 00086 protected: 00087 00088 CS_Type myCoordinateSystemType; 00089 00090 DtPoint mySwCorner; 00091 DtPoint myNeCorner; 00092 00093 DtSurface mySurface; 00094 00095 // UTM specific parameters 00096 DtPoint myOrigin; 00097 00098 // LCC specific parameters 00099 DtFloat64 myLam0; 00100 DtFloat64 myPhi0; 00101 DtFloat64 myPhi1; 00102 DtFloat64 myPhi2; 00103 00104 // Used to specify grid of triangles to create. Default is 2 x 1 00105 int myTesselateX; 00106 int myTesselateY; 00107 }; 00108 00109 #endif