VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sngDisplay.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 #pragma once
6 
9 
11 
15 {
16 public:
17 
18  // Extend the CoordSys enumeration
19  static const CoordSys CoordSysSNG =
21 
24 
27 
30 
33 
35  virtual makVrv::DtUnicode xAxisLabel() const;
36 
38  virtual makVrv::DtUnicode yAxisLabel() const;
39 
41  virtual makVrv::DtUnicode zAxisLabel() const;
42 
46  const DtVector& geocPos, int decimals, double gridSpacing, bool minimal = false) override;
47 
51  const DtVector& geocPos, int decimals, double gridSpacing, bool minimal = false) override;
52 
56  virtual std::vector<std::string> convertPositionToStringList(
57  DistanceUnits unit, const DtVector& geocPos, int decimals) const override;
58 
65  virtual std::vector<makVrv::DtUnicode> convertPositionToNotatedStringList(
66  DistanceUnits unit, makVrv::DtUnicode unitNotation, const DtVector& geocPos, int decimals, bool minimal = false) const override;
67 
71  virtual void convertToGeocentric( const std::string& x,
72  const std::string& y, const std::string& z, DistanceUnits distUnits,
73  DistanceUnits altUnits, DtVector& vector);
74 
77  virtual makVrv::DtUnicode name() const;
78 
80  virtual makVrv::DtCoordinateDisplay* clone() const;
81 
83  DtVector convertFromGeocentric( const DtVector& geoc ) const;
84 
86  DtTaitBryan headingPitchRollFor( const DtVector& location,
87  const DtTaitBryan& geocOri ) const;
88 
90  DtTaitBryan localOrientationFor( const DtVector& location,
91  const DtTaitBryan& geocOri ) const;
92 
94  DtTaitBryan orientationFor( const DtVector& location,
95  const DtTaitBryan& geocOri, bool local ) const;
96 
98  void regularExpressionValidator( std::string& x, std::string& y,
99  std::string& z );
100 
101 protected:
102 
104  static void convertWGS84ToSNG(const DtVector& InVector,
105  DtVector& OutVector);
106 
108  static void convertSNGToWGS84(const DtVector& InVecPos,
109  DtVector& OutVecPos );
110 };
111 
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
The SngCoordinateDisplay class provides the ability for VR-Vantage to display Swiss grid geographic c...
Definition: sngDisplay.h:14
DtTaitBryan headingPitchRollFor(const DtVector &location, const DtTaitBryan &geocOri) const
Heading pitch and roll function.
Abstract interface class for all coordinate system displays.
Definition: DtCoordinateDisplay.h:24
DtVector convertFromGeocentric(const DtVector &geoc) const
Conversion function for local to geocentric conversion.
void regularExpressionValidator(std::string &x, std::string &y, std::string &z)
Regular expression validators for coordinate input.
virtual makVrv::DtUnicode northSouthGridLabel(DistanceUnits unit, const DtVector &geocPos, int decimals, double gridSpacing, bool minimal=false) override
Get the (numeric) label for a north/south grid line at geocPos.
virtual void convertToGeocentric(const std::string &x, const std::string &y, const std::string &z, DistanceUnits distUnits, DistanceUnits altUnits, DtVector &vector)
Convert a local position in x,y,z string form to geocentric coordinates, given that the x and y strin...
static const CoordSys CoordSysSNG
Definition: sngDisplay.h:19
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
virtual makVrv::DtUnicode xAxisLabel() const
Return the label that will be used for x values in the GUI (&quot;E &quot;)
Contains the DtDatabaseCoordinateSystem class declaration.
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
virtual std::vector< makVrv::DtUnicode > convertPositionToNotatedStringList(DistanceUnits unit, makVrv::DtUnicode unitNotation, const DtVector &geocPos, int decimals, bool minimal=false) const override
Convert the geocentric position to a vector of notated strings.
virtual makVrv::DtUnicode zAxisLabel() const
Return the label that will be used for z values in the GUI (&quot;Alt &quot; )
Definition: DtDisplayUnitsSettingsRecord.h:40
virtual makVrv::DtUnicode name() const
The name of this coordinate display (which will appear in combo boxes in the GUI. ...
static void convertSNGToWGS84(const DtVector &InVecPos, DtVector &OutVecPos)
Convert from Swiss National Grid (SNG) to WGS 84 Geocentric.
SngCoordinateDisplay(const makVrv::DtCoordinateSystem &cs)
CTOR.
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
virtual makVrv::DtUnicode eastWestGridLabel(DistanceUnits unit, const DtVector &geocPos, int decimals, double gridSpacing, bool minimal=false) override
Get the (numeric) label for an east/west grid line at geocPos.
DtTaitBryan localOrientationFor(const DtVector &location, const DtTaitBryan &geocOri) const
Orientation function.
DistanceUnits xUnitsFor(DistanceUnits unit) const
Get the x units for this coordinate display (Meters)
virtual makVrv::DtCoordinateDisplay * clone() const
Clone a copy of this coordinate display object.
virtual makVrv::DtUnicode yAxisLabel() const
Return the label that will be used for y values in the GUI (&quot;N &quot; )
DtTaitBryan orientationFor(const DtVector &location, const DtTaitBryan &geocOri, bool local) const
Orientation function.
DistanceUnits yUnitsFor(DistanceUnits unit) const
Get the y units for this coordinate display (Meters)
static void convertWGS84ToSNG(const DtVector &InVector, DtVector &OutVector)
Convert from WGS 84 Geocentric to Swiss National Grid (SNG)
DistanceUnits zUnitsFor(DistanceUnits unit) const
Get the z units for this coordinate display (Meters)
virtual std::vector< std::string > convertPositionToStringList(DistanceUnits unit, const DtVector &geocPos, int decimals) const override
Convert the specified geocPos to an x/y/z list of values, using the specified distance unit (m...

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)