VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMgrsCoordinateDisplay.h
Go to the documentation of this file.
1 /********************************************************************
2  * Copyright (c) 2020 MaK Technologies, Inc.
3  * All rights reserved.
4  ********************************************************************/
5 
9 
10 #pragma once
12 
13 class DtSpheroid;
14 
15 namespace makVrv
16 {
17  class DtUtmCoordinateConverter;
18 
23  {
24  public:
25 
27 
28  virtual ~DtMgrsCoordinateDisplay();
29 
30  DtCoordinateDisplay* clone() const;
31 
32  virtual DtUnicode name() const;
33 
36 
39 
42 
43  virtual DtUnicode xAxisLabel() const;
44  virtual DtUnicode yAxisLabel() const;
45  virtual DtUnicode zAxisLabel() const;
46 
51  virtual DtUnicode gridBoxLabel(const DtVector& lowerLeftGeocPos,
52  const DtVector& upperRightGeocPos );
53 
60  virtual DtUnicode northSouthGridLabel(
62  const DtVector& geocPos, int decimals, double gridSpacing, bool minimal = false) override;
63 
70  virtual DtUnicode eastWestGridLabel(
72  const DtVector& geocPos, int decimals, double gridSpacing, bool minimal = false) override;
73 
74  virtual bool clipXToGrid( double inStartX, double inEndX, double constantY,
75  double& clippedStartX, double& clippedEndX );
76 
78  virtual bool clipYToGrid( double inStartY, double inEndY, double constantX,
79  double& clippedStartY, double& clippedEndY );
80 
81  // Maximum grid spacing allowed. Constrain to 100,000 (one map sheet)
82  virtual double maxGridSpacing() const;
83 
84  // Minimum grid spacing allowed. Constrain to 1 meter
85  virtual double minGridSpacing() const;
86 
87  virtual std::vector<std::string> convertPositionToStringList(
89  const DtVector& geocPos, int decimals ) const override;
90 
97  virtual std::vector<DtUnicode> convertPositionToNotatedStringList(
98  DistanceUnits unit, DtUnicode unitNotation, const DtVector& geocPos, int decimals, bool minimal = false) const override;
99 
103  virtual void convertToGeocentric(
104  const std::string& x, const std::string& y, const std::string& z,
107  DtVector& vector );
108 
111  virtual void regularExpressionValidator( std::string& x,
112  std::string& y, std::string& z );
113 
114  protected:
115 
117  virtual void initializeMilGridEllipsoid() const;
118 
120  virtual void adjustMeridianOffsets(DtUtmCoordinateConverter* conv,
121  double utmXCoord, double utmYCoord,
122  double& meridianOffsetStart, double& meridianOffsetEnd);
123 
126  virtual void adjustStartEndDeg(DtUtmCoordinateConverter* conv,
127  double constantX, double clippedStartY, double clippedEndY,
128  double& startDeg, double& endDeg);
129 
132  bool isInSpecialZoneLon(DtUtmCoordinateConverter* conv,
133  double constantX, double clippedStartY, double clippedEndY);
134 
135  protected:
136 
138  static bool spheroidsEqual( const DtSpheroid& sph1, const DtSpheroid& sph2 );
139 
140  };
141 
142 }
Instances of DtUtmCoordSystem provide transformations and utilities for converting between network an...
Definition: DtUtmCoordinateConverter.h:21
Contains the DtUtmCoordinateSystem class declaration.
The military grid reference system coordinate system conversion for the GUI.
Definition: DtMgrsCoordinateDisplay.h:22
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
Abstract interface class for all coordinate system displays.
Definition: DtCoordinateDisplay.h:24
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
Coordinate system display for UTM coordinates.
Definition: DtUtmCoordinateDisplay.h:20
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)