VR-Forces 4.0.4 Class Documentation
include/vrvUtil/DtMgrsCoordinateDisplay.h
Go to the documentation of this file.
00001 /********************************************************************
00002  * Copyright (c) 2011 MaK Technologies, Inc.
00003  * All rights reserved.
00004  ********************************************************************/
00005 /********************************************************************
00006  * $RCSfile: DtMgrsCoordinateDisplay.h,v $ $Revision: 1.8 $ $State: Exp $
00007  ********************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvUtil/DtUtmCoordinateDisplay.h>
00015 
00016 class DtSpheroid;
00017 
00018 namespace makVrv
00019 {
00020 
00024    class DT_DLL_VRVUTIL DtMgrsCoordinateDisplay : public DtUtmCoordinateDisplay
00025    {
00026    public:
00027 
00028       DtMgrsCoordinateDisplay( const DtCoordinateSystem& cs );
00029 
00030       virtual ~DtMgrsCoordinateDisplay();
00031 
00032       DtCoordinateDisplay* clone() const;
00033 
00034       virtual DtUnicode name();
00035 
00036       virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits
00037          xUnitsFor( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits units );
00038 
00039       virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits
00040          yUnitsFor( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits units );
00041 
00042       virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits
00043          zUnitsFor( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits units );
00044 
00045       virtual DtUnicode xAxisLabel();
00046       virtual DtUnicode yAxisLabel();
00047       virtual DtUnicode zAxisLabel();
00048 
00053       virtual DtUnicode gridBoxLabel(const DtVector& lowerLeftGeocPos,
00054          const DtVector& upperRightGeocPos );
00055   
00057       virtual DtUnicode northSouthGridLabel( 
00058          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit,
00059          const DtVector& geocPos, int decimals, double gridSpacing );
00060 
00062       virtual DtUnicode eastWestGridLabel( 
00063          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit,
00064          const DtVector& geocPos, int decimals, double gridSpacing );
00065 
00066       virtual bool clipXToGrid( double inStartX, double inEndX, double constantY, 
00067          double& clippedStartX, double& clippedEndX );
00068 
00070       virtual bool clipYToGrid( double inStartY, double inEndY, double constantX, 
00071          double& clippedStartY, double& clippedEndY );
00072 
00073       // Maximum grid spacing allowed. Constrain to 100,000 (one map sheet)
00074       virtual double maxGridSpacing() const;
00075 
00076       // Minimum grid spacing allowed. Constrain to 1 meter
00077       virtual double minGridSpacing() const;
00078 
00079       virtual std::vector<std::string> convertPositionToStringList(
00080          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit,
00081          const DtVector& geocPos, int decimals );
00082 
00086       virtual void convertToGeocentric(
00087          const std::string& x, const std::string& y, const std::string& z,
00088          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits distUnits,
00089          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits altUnits,
00090          DtVector& vector );
00091 
00094       virtual void regularExpressionValidator( std::string& x,
00095          std::string& y, std::string& z );
00096 
00097    protected:
00098 
00100       virtual void initializeMilGridEllipsoid();
00101 
00102    protected:
00103 
00105       static bool spheroidsEqual( const DtSpheroid& sph1, const DtSpheroid& sph2 );
00106 
00107    };
00108 
00109 }

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)