VR-Forces 4.0.4 Class Documentation
include/gdb/extentInitializer.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)