![]() |
VR-Forces 4.0.4 Class Documentation
|
vrvGraphics-based implementation of 2D Grid Lines on geocentric databases More...

Public Member Functions | |
| DtGeocentricGridLinesDrawer (DtDe &de) | |
| CTOR. | |
| virtual | ~DtGeocentricGridLinesDrawer () |
| DTOR. | |
| virtual void | drawGridLines () |
| Main entry point - draw the geocentric grid lines. | |
| virtual void | setScale (double scale) |
| Set the current observer 2D scale. | |
| virtual void | setObserverPosition (const DtVector &position) |
| Set the observer position. | |
| virtual void | setChannelDimensions (int startChannelX, int startChannelY, int endChannelX, int endChannelY) |
| Override to set up expansion values. | |
Protected Types | |
| typedef std::vector < DtLineSegment * > | GridLine |
| typedef std::vector< GridLine > | GridLineVector |
| typedef std::vector < DtTextProxy * > | LabelArray |
Protected Member Functions | |
| virtual void | setupReferenceEllipsoid () |
| Set up a reference ellipsoid for the current coordinate system that can be reused for all geodetic coordinate objects. | |
| virtual void | setupTopoGeocTransforms () |
| Set up transforms between Geocentric and geodetic coordinates. | |
| virtual bool | pointVisible (const DtVector &point) const |
| Determine if the geocentric point specified could be visible (ignoring the current observer orientation) | |
| virtual void | findPolarSpacing () |
| Determine the spacings to use when one of the poles is visible. | |
| virtual void | drawPolarLongitudeLines () |
| Draw the longitude lines when one of the poles is visible. | |
| virtual void | drawPolarLatitudeLines () |
| Draw the latitude lines when one of the poles is visible. | |
| virtual void | findLatLonWindowDimensions () |
| Find the range of longitude and latitude to draw lines over based on the window dimensions (and scale and observer position) | |
| virtual void | findSpacing () |
| Determine the spacings to use when neither pole is visible. | |
| virtual void | anchorAndOffsetLines () |
| find the correct starting point for longitude and latitude lines given the current spacing and offsets specified | |
| virtual void | drawLongitudeLines () |
| Draw the longitude lines when neither pole is visible. | |
| virtual void | drawLatitudeLines () |
| Draw the latitude lines when neither pole is visible. | |
| virtual void | createLabel (DtTextProxy *&label, double radians, bool isLongitude) const |
| Create a label. | |
| virtual void | destroyGridLines () |
| Destroy all grid lines. | |
| virtual bool | clip3D (const DtVector &pointA, const DtVector &pointB, DtVector &clippedA, DtVector &clippedB) const |
| Returns false if A and B are beyond the clip plane. | |
| virtual void | clearUnusedLinesAndLabels (int index, GridLineVector &lines, LabelArray &labels) |
| Deallocates all segments and labels for indices at and above the provided index in the provided GridLineVector. | |
| virtual void | clearUnusedSegments (int index, GridLine &line) |
| Deallocates all line segments at and above the provided index in the provided GridLine. | |
| virtual void | destroyLinesAndLabels (GridLineVector &lines, LabelArray &labels) |
| Deallocates all line segments and all labels in the GridLineVector and label arrays provided. | |
| virtual void | resizeLinesAndLabels (GridLineVector &lines, LabelArray &labels, int numLines) |
| Set the number of lines to draw in a frame Will resize /cleanup current memory allocations for lines and labels. | |
| virtual bool | drawLineSegment (DtLineSegment *&segment, DtVector start, DtVector end, float *colorArray, bool *pass3D=0) |
| Draw a geocentric line segment, if its visible. | |
| virtual GridLine & | getSegmentedLine (GridLineVector &lines, int index, int numSegments) |
| Returns the line from the line vector at the specified index with enough segment pointers allocated. | |
Protected Attributes | |
| GridLineVector | myLongitudeLines |
| GridLineVector | myLatitudeLines |
| LabelArray | myLongitudeLabels |
| LabelArray | myLatitudeLabels |
| double | myLatSpacing |
| double | myLonSpacing |
| double | myScale |
| unsigned int | myChannelSize |
| DtVector | myObserverPosition |
| double | myObserverLatitude |
| double | myObserverLongitude |
| int | myChannelExpansionX |
| int | myChannelExpansionY |
| DtVector | myClipNormal |
| double | myStartLat |
| double | myEndLat |
| double | myStartLon |
| double | myEndLon |
| DtCoordTransform | myGeocToTopoTransform |
| DtCoordTransform | myTopoToGeocTransform |
| DtReferenceEllipsoid | myReferenceEllipsoid |
| double | myAnchoredStartLat |
| double | myAnchoredEndLat |
| double | myAnchoredStartLon |
| double | myAnchoredEndLon |
| bool | myLatCrossesPole |
Private Member Functions | |
| DtGeocentricGridLinesDrawer (const DtGeocentricGridLinesDrawer &orig) | |
| Unimplemented Copy Constructor. | |
| DtGeocentricGridLinesDrawer & | operator= (const DtGeocentricGridLinesDrawer &rhs) |
| Unimplemented assignment operator. | |
vrvGraphics-based implementation of 2D Grid Lines on geocentric databases
typedef std::vector<DtLineSegment*> makVrv::DtGeocentricGridLinesDrawer::GridLine [protected] |
typedef std::vector<GridLine> makVrv::DtGeocentricGridLinesDrawer::GridLineVector [protected] |
typedef std::vector<DtTextProxy*> makVrv::DtGeocentricGridLinesDrawer::LabelArray [protected] |
| virtual makVrv::DtGeocentricGridLinesDrawer::~DtGeocentricGridLinesDrawer | ( | ) | [virtual] |
DTOR.
| makVrv::DtGeocentricGridLinesDrawer::DtGeocentricGridLinesDrawer | ( | const DtGeocentricGridLinesDrawer & | orig | ) | [private] |
Unimplemented Copy Constructor.
| virtual void makVrv::DtGeocentricGridLinesDrawer::drawGridLines | ( | ) | [virtual] |
Main entry point - draw the geocentric grid lines.
| virtual void makVrv::DtGeocentricGridLinesDrawer::setScale | ( | double | scale | ) | [virtual] |
Set the current observer 2D scale.
| virtual void makVrv::DtGeocentricGridLinesDrawer::setObserverPosition | ( | const DtVector & | position | ) | [virtual] |
Set the observer position.
| virtual void makVrv::DtGeocentricGridLinesDrawer::setChannelDimensions | ( | int | startChannelX, |
| int | startChannelY, | ||
| int | endChannelX, | ||
| int | endChannelY | ||
| ) | [virtual] |
Override to set up expansion values.
Reimplemented from makVrv::DtGridLinesDrawer.
| virtual void makVrv::DtGeocentricGridLinesDrawer::setupReferenceEllipsoid | ( | ) | [protected, virtual] |
Set up a reference ellipsoid for the current coordinate system that can be reused for all geodetic coordinate objects.
| virtual void makVrv::DtGeocentricGridLinesDrawer::setupTopoGeocTransforms | ( | ) | [protected, virtual] |
Set up transforms between Geocentric and geodetic coordinates.
| virtual bool makVrv::DtGeocentricGridLinesDrawer::pointVisible | ( | const DtVector & | point | ) | const [protected, virtual] |
Determine if the geocentric point specified could be visible (ignoring the current observer orientation)
| virtual void makVrv::DtGeocentricGridLinesDrawer::findPolarSpacing | ( | ) | [protected, virtual] |
Determine the spacings to use when one of the poles is visible.
| virtual void makVrv::DtGeocentricGridLinesDrawer::drawPolarLongitudeLines | ( | ) | [protected, virtual] |
Draw the longitude lines when one of the poles is visible.
| virtual void makVrv::DtGeocentricGridLinesDrawer::drawPolarLatitudeLines | ( | ) | [protected, virtual] |
Draw the latitude lines when one of the poles is visible.
| virtual void makVrv::DtGeocentricGridLinesDrawer::findLatLonWindowDimensions | ( | ) | [protected, virtual] |
Find the range of longitude and latitude to draw lines over based on the window dimensions (and scale and observer position)
| virtual void makVrv::DtGeocentricGridLinesDrawer::findSpacing | ( | ) | [protected, virtual] |
Determine the spacings to use when neither pole is visible.
| virtual void makVrv::DtGeocentricGridLinesDrawer::anchorAndOffsetLines | ( | ) | [protected, virtual] |
find the correct starting point for longitude and latitude lines given the current spacing and offsets specified
| virtual void makVrv::DtGeocentricGridLinesDrawer::drawLongitudeLines | ( | ) | [protected, virtual] |
Draw the longitude lines when neither pole is visible.
| virtual void makVrv::DtGeocentricGridLinesDrawer::drawLatitudeLines | ( | ) | [protected, virtual] |
Draw the latitude lines when neither pole is visible.
| virtual void makVrv::DtGeocentricGridLinesDrawer::createLabel | ( | DtTextProxy *& | label, |
| double | radians, | ||
| bool | isLongitude | ||
| ) | const [protected, virtual] |
Create a label.
| virtual void makVrv::DtGeocentricGridLinesDrawer::destroyGridLines | ( | ) | [protected, virtual] |
Destroy all grid lines.
| virtual bool makVrv::DtGeocentricGridLinesDrawer::clip3D | ( | const DtVector & | pointA, |
| const DtVector & | pointB, | ||
| DtVector & | clippedA, | ||
| DtVector & | clippedB | ||
| ) | const [protected, virtual] |
Returns false if A and B are beyond the clip plane.
True if either/both are not, and returns correctly clipped values
| virtual void makVrv::DtGeocentricGridLinesDrawer::clearUnusedLinesAndLabels | ( | int | index, |
| GridLineVector & | lines, | ||
| LabelArray & | labels | ||
| ) | [protected, virtual] |
Deallocates all segments and labels for indices at and above the provided index in the provided GridLineVector.
| virtual void makVrv::DtGeocentricGridLinesDrawer::clearUnusedSegments | ( | int | index, |
| GridLine & | line | ||
| ) | [protected, virtual] |
Deallocates all line segments at and above the provided index in the provided GridLine.
| virtual void makVrv::DtGeocentricGridLinesDrawer::destroyLinesAndLabels | ( | GridLineVector & | lines, |
| LabelArray & | labels | ||
| ) | [protected, virtual] |
Deallocates all line segments and all labels in the GridLineVector and label arrays provided.
| virtual void makVrv::DtGeocentricGridLinesDrawer::resizeLinesAndLabels | ( | GridLineVector & | lines, |
| LabelArray & | labels, | ||
| int | numLines | ||
| ) | [protected, virtual] |
Set the number of lines to draw in a frame Will resize /cleanup current memory allocations for lines and labels.
| virtual bool makVrv::DtGeocentricGridLinesDrawer::drawLineSegment | ( | DtLineSegment *& | segment, |
| DtVector | start, | ||
| DtVector | end, | ||
| float * | colorArray, | ||
| bool * | pass3D = 0 |
||
| ) | [protected, virtual] |
Draw a geocentric line segment, if its visible.
Will create if necessary. If the caller wants to know if its 3D-clipped, provide pass3D
| virtual GridLine& makVrv::DtGeocentricGridLinesDrawer::getSegmentedLine | ( | GridLineVector & | lines, |
| int | index, | ||
| int | numSegments | ||
| ) | [protected, virtual] |
Returns the line from the line vector at the specified index with enough segment pointers allocated.
| DtGeocentricGridLinesDrawer& makVrv::DtGeocentricGridLinesDrawer::operator= | ( | const DtGeocentricGridLinesDrawer & | rhs | ) | [private] |
Unimplemented assignment operator.
double makVrv::DtGeocentricGridLinesDrawer::myLatSpacing [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myLonSpacing [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myScale [protected] |
unsigned int makVrv::DtGeocentricGridLinesDrawer::myChannelSize [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myObserverLatitude [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myObserverLongitude [protected] |
int makVrv::DtGeocentricGridLinesDrawer::myChannelExpansionX [protected] |
int makVrv::DtGeocentricGridLinesDrawer::myChannelExpansionY [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myStartLat [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myEndLat [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myStartLon [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myEndLon [protected] |
DtCoordTransform makVrv::DtGeocentricGridLinesDrawer::myGeocToTopoTransform [protected] |
DtCoordTransform makVrv::DtGeocentricGridLinesDrawer::myTopoToGeocTransform [protected] |
DtReferenceEllipsoid makVrv::DtGeocentricGridLinesDrawer::myReferenceEllipsoid [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myAnchoredStartLat [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myAnchoredEndLat [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myAnchoredStartLon [protected] |
double makVrv::DtGeocentricGridLinesDrawer::myAnchoredEndLon [protected] |