VR-Forces 4.0.4 Class Documentation
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtGeocentricGridLinesDrawer Class Reference

vrvGraphics-based implementation of 2D Grid Lines on geocentric databases More...

Inheritance diagram for makVrv::DtGeocentricGridLinesDrawer:
Inheritance graph
[legend]

List of all members.

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< GridLineGridLineVector
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 GridLinegetSegmentedLine (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.
DtGeocentricGridLinesDraweroperator= (const DtGeocentricGridLinesDrawer &rhs)
 Unimplemented assignment operator.

Detailed Description

vrvGraphics-based implementation of 2D Grid Lines on geocentric databases


Member Typedef Documentation


Constructor & Destructor Documentation

CTOR.

DTOR.

Unimplemented Copy Constructor.


Member Function Documentation

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.

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.


Member Data Documentation


The documentation for this class was generated from the following file:

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)