![]() |
VR-Forces 4.8 Class Documentation
|
Abstract interface class for all coordinate system displays. More...

Public Types | |
| typedef makArchives::DtDisplayUnitsSettingsRecord::CoordSys | CoordSys |
| typedef makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits | DistanceUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::VelocityUnits | VelocityUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::AccelerationUnits | AccelerationUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits | OrientationUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::RotVelocityUnits | RotVelocityUnits |
| typedef std::list< DistanceUnits > | SupportedPositionDistanceUnits |
| typedef std::list < OrientationUnits > | SupportedPositionAngularUnits |
| typedef std::list< std::string > | SupportedCSForGridLines |
Public Member Functions | |
| DtCoordinateDisplay (const DtCoordinateSystem &coordSys) | |
| CTOR DtUnitConverterCollection is a collection of classes used to convert between different units (meters, feet, miles, etc.) DtCoordinateSystem is used to do coordinate system conversions, when possible. More... | |
| virtual | ~DtCoordinateDisplay () |
| DTOR. More... | |
| virtual DtCoordinateDisplay * | clone () const =0 |
| Virtual clone function. More... | |
| virtual DtUnicode | name ()=0 |
| virtual DtUnicode | gridBoxLabel (const DtVector &lowerLeftGeocPos, const DtVector &upperRightGeocPos) |
| Some systems (such as MGRS) are not just positions but boxes with grid designators. More... | |
| virtual DtUnicode | northSouthGridLabel (DistanceUnits unit, const DtVector &geocPos, int decimals, double gridSpacing) |
| Get a north / south label with linear units. More... | |
| virtual DtUnicode | northSouthGridLabel (OrientationUnits unit, const DtVector &geocPos, int decimals, double gridSpacing) |
| Get a north / south label with angular units. More... | |
| virtual DtUnicode | eastWestGridLabel (DistanceUnits unit, const DtVector &geocPos, int decimals, double gridSpacing) |
| Get an east / west label with linear units. More... | |
| virtual DtUnicode | eastWestGridLabel (OrientationUnits unit, const DtVector &geocPos, int decimals, double gridSpacing) |
| Get an east / west label with angular units. More... | |
| virtual bool | clipXToGrid (double inStartX, double inEndX, double constantY, double &clippedStartX, double &clippedEndX) |
| Clip a line segment in LOCAL coordinates to an existing grid defined by this coord system, if any. More... | |
| virtual bool | clipYToGrid (double inStartY, double inEndY, double constantX, double &clippedStartY, double &clippedEndY) |
| Returns false if entire segment is outside grid. More... | |
| virtual void | shiftGridLineAnchors (double xSpacing, double ySpacing, double &shiftX, double &shifY) |
| Normally, grid lines are started at database 0,0. More... | |
| virtual bool | usesDecimalsOnGridLines () const |
| Enable/disable the decimals spinbox on grid settings dialog. More... | |
| virtual double | maxGridSpacing () const |
| Maximum grid spacing allowed. 0. returned if unlimited. More... | |
| virtual double | minGridSpacing () const |
| Minimum grid spacing allowed. 0. returned if unlimited. More... | |
| virtual DistanceUnits | xUnitsFor (DistanceUnits unit)=0 |
| virtual DistanceUnits | yUnitsFor (DistanceUnits unit)=0 |
| virtual DistanceUnits | zUnitsFor (DistanceUnits unit)=0 |
| virtual DtUnicode | xAxisLabel ()=0 |
| virtual DtUnicode | yAxisLabel ()=0 |
| virtual DtUnicode | zAxisLabel ()=0 |
| virtual std::vector< std::string > | convertPositionToStringList (DistanceUnits unit, const DtVector &geocPos, int decimals)=0 |
| Takes the x, y, z values that comes in and creates a string array of three strings that represent the values. More... | |
| virtual void | convertToGeocentric (const std::string &x, const std::string &y, const std::string &z, DistanceUnits distUnits, DistanceUnits altUnits, DtVector &vector)=0 |
| Converts the given coordinates (in string rep) from the base units to geocentric. More... | |
| virtual DtVector | convertFromGeocentric (const DtVector &vector) const =0 |
| Converts the vector from geocentric to local. More... | |
| virtual DtTaitBryan | headingPitchRollFor (const DtVector &geocPos, const DtTaitBryan &geocOri) const =0 |
| Return heading, pitch, roll in radians given local orientation. More... | |
| virtual DtTaitBryan | localOrientationFor (const DtVector &location, const DtTaitBryan &geocOri) const =0 |
| Return local orientation given geocentric orientation. More... | |
| virtual void | regularExpressionValidator (std::string &x, std::string &y, std::string &z)=0 |
| Returns a the regexes for validating the XYZ values for this coordsys. More... | |
| virtual DtTaitBryan | topoOrientationFor (const DtVector &geocPos, const DtTaitBryan &geocOri) const |
| virtual DtVector | geocToLocalVector (const DtVector &geocLoc, const DtVector &geocVec) const |
| const SupportedPositionDistanceUnits & | supportedPositionDistanceUnits () const |
| Retrieve the the list of DistanceUnits supported by this cs display for displaying positions (coordnates).Different coordinate displays can support different distance units for position display (or, in some cases, none). More... | |
| bool | isSupportedPositionUnit (DistanceUnits unit) const |
| Determine if the specified distance unit is supported. More... | |
| void | addSupportedPositionUnit (DistanceUnits unitToSupport) |
| Add support for a new distance unit type. More... | |
| void | removeSupportedPositionUnit (DistanceUnits unitToRemove) |
| Remove support for a distance unit type. More... | |
| const SupportedPositionAngularUnits & | supportedPositionAngularUnits () const |
| Retrieve the the list of OrientationUnits supported by this cs display. More... | |
| bool | isSupportedPositionUnit (OrientationUnits unit) const |
| Determine if the specified distance unit is supported. More... | |
| void | addSupportedPositionUnit (OrientationUnits unitToSupport) |
| Add support for a new distance unit type. More... | |
| void | removeSupportedPositionUnit (OrientationUnits unitToRemove) |
| Remove support for a distance unit type. More... | |
| const SupportedCSForGridLines & | supportedCSForGridLines () const |
| Retrieve the the list of coordinate systems that can have grid lines drawn using this display type. More... | |
| bool | isSupportedCSForGridLines (const std::string &cs) const |
| Determine if this display supports grid lines for the specified coordinate system. More... | |
| void | addSupportedCSForGridLines (const std::string &cs) |
| Add grid line support for a coordinate system. More... | |
| void | removeSupportedCSForGridLines (const std::string &cs) |
| Remove grid line support for a coordinate system. More... | |
Abstract interface class for all coordinate system displays.
| typedef makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits makVrv::DtCoordinateDisplay::DistanceUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::VelocityUnits makVrv::DtCoordinateDisplay::VelocityUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::AccelerationUnits makVrv::DtCoordinateDisplay::AccelerationUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits makVrv::DtCoordinateDisplay::OrientationUnits |
| typedef makArchives::DtDisplayUnitsSettingsRecord::RotVelocityUnits makVrv::DtCoordinateDisplay::RotVelocityUnits |
| typedef std::list<DistanceUnits> makVrv::DtCoordinateDisplay::SupportedPositionDistanceUnits |
| typedef std::list<OrientationUnits> makVrv::DtCoordinateDisplay::SupportedPositionAngularUnits |
| typedef std::list<std::string> makVrv::DtCoordinateDisplay::SupportedCSForGridLines |
| makVrv::DtCoordinateDisplay::DtCoordinateDisplay | ( | const DtCoordinateSystem & | coordSys | ) |
CTOR DtUnitConverterCollection is a collection of classes used to convert between different units (meters, feet, miles, etc.) DtCoordinateSystem is used to do coordinate system conversions, when possible.
|
virtual |
DTOR.
|
pure virtual |
|
pure virtual |
|
virtual |
Some systems (such as MGRS) are not just positions but boxes with grid designators.
This function should return "" if a system has no grid boxes, otherwise return a label suitable for the lower left-hand corner of that box
Reimplemented in makVrv::DtUtmCoordinateDisplay, and makVrv::DtMgrsCoordinateDisplay.
|
virtual |
Get a north / south label with linear units.
Reimplemented in makVrv::DtUtmCoordinateDisplay, makVrv::DtMgrsCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, makVrv::DtDatabaseCoordinateDisplay, and SngCoordinateDisplay.
|
virtual |
Get a north / south label with angular units.
Reimplemented in makVrv::DtGeodeticDmsCoordinateDisplay, and makVrv::DtGeodeticDecCoordinateDisplay.
|
virtual |
Get an east / west label with linear units.
Reimplemented in makVrv::DtUtmCoordinateDisplay, makVrv::DtMgrsCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, makVrv::DtDatabaseCoordinateDisplay, and SngCoordinateDisplay.
|
virtual |
Get an east / west label with angular units.
Reimplemented in makVrv::DtGeodeticDmsCoordinateDisplay, and makVrv::DtGeodeticDecCoordinateDisplay.
|
virtual |
Clip a line segment in LOCAL coordinates to an existing grid defined by this coord system, if any.
Returns false if entire segment is outside grid
Reimplemented in makVrv::DtMgrsCoordinateDisplay.
|
virtual |
Returns false if entire segment is outside grid.
Reimplemented in makVrv::DtMgrsCoordinateDisplay.
|
virtual |
Normally, grid lines are started at database 0,0.
This allows a shift to start them somewhere else (like a UTM zone origin)
Reimplemented in makVrv::DtUtmCoordinateDisplay, and makVrv::DtGeodeticDmsCoordinateDisplay.
|
virtual |
Enable/disable the decimals spinbox on grid settings dialog.
Reimplemented in makVrv::DtUtmCoordinateDisplay.
|
virtual |
Maximum grid spacing allowed. 0. returned if unlimited.
Reimplemented in makVrv::DtMgrsCoordinateDisplay.
|
virtual |
Minimum grid spacing allowed. 0. returned if unlimited.
Reimplemented in makVrv::DtMgrsCoordinateDisplay.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Takes the x, y, z values that comes in and creates a string array of three strings that represent the values.
This call assumes the values being passed in are in geocentric values
Implemented in makVrv::DtMgrsCoordinateDisplay, makVrv::DtUtmCoordinateDisplay, makVrv::DtGeodeticDmsCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, SngCoordinateDisplay, makVrv::DtDatabaseCoordinateDisplay, and makVrv::DtGeodeticDecCoordinateDisplay.
|
pure virtual |
Converts the given coordinates (in string rep) from the base units to geocentric.
Note that the coordinates must be in the units of this collection
Implemented in makVrv::DtMgrsCoordinateDisplay, makVrv::DtUtmCoordinateDisplay, makVrv::DtGeodeticDmsCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, SngCoordinateDisplay, makVrv::DtDatabaseCoordinateDisplay, and makVrv::DtGeodeticDecCoordinateDisplay.
|
pure virtual |
Converts the vector from geocentric to local.
Assumes the vector is in geocentric coordinates.
Implemented in makVrv::DtUtmCoordinateDisplay, makVrv::DtGeodeticDmsCoordinateDisplay, SngCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, and makVrv::DtDatabaseCoordinateDisplay.
|
pure virtual |
Return heading, pitch, roll in radians given local orientation.
Implemented in makVrv::DtUtmCoordinateDisplay, makVrv::DtGeodeticDmsCoordinateDisplay, SngCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, and makVrv::DtDatabaseCoordinateDisplay.
|
pure virtual |
Return local orientation given geocentric orientation.
Implemented in makVrv::DtUtmCoordinateDisplay, makVrv::DtGeodeticDmsCoordinateDisplay, SngCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, and makVrv::DtDatabaseCoordinateDisplay.
|
pure virtual |
Returns a the regexes for validating the XYZ values for this coordsys.
Need X, Y and Z because they may be different for a given coordinate system.
Implemented in makVrv::DtUtmCoordinateDisplay, makVrv::DtGeodeticDmsCoordinateDisplay, makVrv::DtMgrsCoordinateDisplay, SngCoordinateDisplay, makVrv::DtGeocentricCoordinateDisplay, makVrv::DtDatabaseCoordinateDisplay, and makVrv::DtGeodeticDecCoordinateDisplay.
|
virtual |
|
virtual |
Reimplemented in makVrv::DtGeocentricCoordinateDisplay.
| const SupportedPositionDistanceUnits& makVrv::DtCoordinateDisplay::supportedPositionDistanceUnits | ( | ) | const |
Retrieve the the list of DistanceUnits supported by this cs display for displaying positions (coordnates).Different coordinate displays can support different distance units for position display (or, in some cases, none).
For example, UTM only xupports meters. On the other hand, Local Cartesian Coordinates can be displayed in any DistanceUnit.
| bool makVrv::DtCoordinateDisplay::isSupportedPositionUnit | ( | DistanceUnits | unit | ) | const |
Determine if the specified distance unit is supported.
| void makVrv::DtCoordinateDisplay::addSupportedPositionUnit | ( | DistanceUnits | unitToSupport | ) |
Add support for a new distance unit type.
| void makVrv::DtCoordinateDisplay::removeSupportedPositionUnit | ( | DistanceUnits | unitToRemove | ) |
Remove support for a distance unit type.
| const SupportedPositionAngularUnits& makVrv::DtCoordinateDisplay::supportedPositionAngularUnits | ( | ) | const |
Retrieve the the list of OrientationUnits supported by this cs display.
for displaying positions (coordnates). Different coordinate displays can support different angular units for position display (or, in some cases, none). For example, Geodetic currently supports degrees.
| bool makVrv::DtCoordinateDisplay::isSupportedPositionUnit | ( | OrientationUnits | unit | ) | const |
Determine if the specified distance unit is supported.
| void makVrv::DtCoordinateDisplay::addSupportedPositionUnit | ( | OrientationUnits | unitToSupport | ) |
Add support for a new distance unit type.
| void makVrv::DtCoordinateDisplay::removeSupportedPositionUnit | ( | OrientationUnits | unitToRemove | ) |
Remove support for a distance unit type.
| const SupportedCSForGridLines& makVrv::DtCoordinateDisplay::supportedCSForGridLines | ( | ) | const |
Retrieve the the list of coordinate systems that can have grid lines drawn using this display type.
| bool makVrv::DtCoordinateDisplay::isSupportedCSForGridLines | ( | const std::string & | cs | ) | const |
Determine if this display supports grid lines for the specified coordinate system.
| void makVrv::DtCoordinateDisplay::addSupportedCSForGridLines | ( | const std::string & | cs | ) |
Add grid line support for a coordinate system.
| void makVrv::DtCoordinateDisplay::removeSupportedCSForGridLines | ( | const std::string & | cs | ) |
Remove grid line support for a coordinate system.
|
protected |
|
protected |
|
protected |
|
protected |