VR-Forces 4.0.4 Class Documentation
include/vrvUtil/DtUtmCoordinateDisplay.h
Go to the documentation of this file.
00001 /********************************************************************
00002  * Copyright (c) 2011 MaK Technologies, Inc.
00003  * All rights reserved.
00004  ********************************************************************/
00005 /********************************************************************
00006  * $RCSfile: DtUtmCoordinateDisplay.h,v $ $Revision: 1.8 $ $State: Exp $
00007  ********************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvUtil/DtGeocentricCoordinateDisplay.h>
00015 
00016 class DtDcm;
00017 
00018 namespace makVrv
00019 {
00020 
00023    class DT_DLL_VRVUTIL DtUtmCoordinateDisplay : public DtGeocentricCoordinateDisplay
00024    {
00025    public:
00026 
00027       DtUtmCoordinateDisplay( const DtCoordinateSystem& cs );
00028 
00029       virtual ~DtUtmCoordinateDisplay();
00030 
00031       DtCoordinateDisplay* clone() const;
00032 
00033       virtual DtUnicode name();
00034 
00035       virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits
00036          xUnitsFor( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit );
00037 
00038       virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits
00039          yUnitsFor( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit );
00040 
00041       virtual makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits
00042          zUnitsFor( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit );
00043 
00044       virtual DtUnicode xAxisLabel();
00045       virtual DtUnicode yAxisLabel();
00046       virtual DtUnicode zAxisLabel();
00047 
00052       virtual DtUnicode gridBoxLabel(const DtVector& lowerLeftGeocPos,
00053          const DtVector& upperRightGeocPos );
00054   
00056       virtual DtUnicode northSouthGridLabel( 
00057          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit,
00058          const DtVector& geocPos, int decimals, double gridSpacing );
00059 
00061       virtual DtUnicode eastWestGridLabel( 
00062          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit,
00063          const DtVector& geocPos, int decimals, double gridSpacing );
00064 
00065       virtual void shiftGridLineAnchors( double xSpacing, double ySpacing, 
00066          double& shiftX, double& shifY );
00067 
00068       virtual bool usesDecimalsOnGridLines() const;
00069 
00071       virtual std::vector<std::string> convertPositionToStringList(
00072          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit,
00073          const DtVector& geocPos, int decimals );
00074 
00078       virtual void convertToGeocentric(
00079          const std::string& x, const std::string& y, const std::string& z,
00080          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits distUnits,
00081          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits altUnits,
00082          DtVector& vector );
00083 
00086       virtual DtVector convertFromGeocentric( const DtVector& geoc ) const;
00087 
00089       virtual DtTaitBryan localOrientationFor(
00090          const DtVector& location, const DtTaitBryan& geocOri ) const;
00091       virtual DtTaitBryan headingPitchRollFor(
00092          const DtVector& location, const DtTaitBryan& geocOri ) const;
00093 
00095       virtual DtDcm geocToUtmMatrix( const DtVector& geocLoc ) const;
00096       virtual DtDcm utmToGeocMatrix( const DtVector& geocLoc ) const;
00097 
00099       virtual bool isNonUtmDatabase() const;
00100       virtual bool isGlobalUtmInitialized() const;
00101 
00102       virtual double scaleFactor() const;
00103 
00106       virtual void regularExpressionValidator( std::string& x,
00107          std::string& y, std::string& z );
00108 
00109    protected:
00110       // Helper to convert geoc position to utm ([0], [1]) and altitude ([2])
00111       void geocToUtm( const DtVector& geocPos, DtVector& utmPos, DtUnicode& zone, 
00112          int zoneToUse=0 );
00113 
00114       DtUnicode formatGridLabel( double value );
00115    };
00116 
00117 }

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)