26 #include <boost/unordered_set.hpp>
33 class DtOverlayRenderer;
52 virtual void drawGridLines();
55 virtual void setMaxGridLines(
int maxGridLines );
59 virtual void setWindowDimensions(
double startWindowX,
double startWindowY,
60 double endWindowX,
double endWindowY );
63 virtual void setCenter(
const osg::Vec2d& center );
66 virtual void setHeading(
double heading );
69 virtual void setScale(
double scale );
72 virtual void destroyGridLines();
76 virtual void reloadTextFonts();
82 virtual void drawNorthSouthGridLinesAndLabels();
85 virtual void drawEastWestGridLinesAndLabels();
89 virtual void findSpacing();
94 virtual void anchorAndOffsetLines();
100 virtual DtUnicode createLabel(
const double& xMeters,
const double& yMeters,
bool isNorthSouth );
102 virtual bool labelGridBox(
double nsValue,
double ewValue,
int labelIndex );
106 void convertDegreeSpacingToMeters(
double gridSpacing,
double& xSpacing,
double& ySpacing )
const;
110 double& xOffset,
double& yOffset,
DtBoundingBox& bbox )
const;
114 double& xOffset,
double& yOffset,
DtBoundingBox& bbox )
const;
117 virtual LabelPosition calcLabelPosition(
double x,
double y )
const;
120 virtual void calcDesiredLabelPosition();
124 double degreesLatitudeToMeters(
double x,
double y )
const;
126 double convertToMetersOrDegrees(
double value )
const;
130 virtual double degreesLongitudeToMeters()
const;
134 virtual double fixedSpacingAmount()
const;
138 virtual double xOffset()
const;
142 virtual double yOffset()
const;
161 virtual void clearUnusedLinesAndLabels(
int index,
GridLineVector& lines );
163 virtual void clearUnusedGridBoxLabels(
int index );
165 virtual bool drawGridLineAndLabel(
double startX,
double startY,
166 double endX,
double endY,
GridLine& gridLine,
float* lineColor,
167 LabelPosition labelPosition,
float* labelColor,
bool isNorthSouth );
174 virtual void labelGridBoxes();
double myAnchoredMinY
Definition: DtProjectedGridLinesDrawer.h:217
boost::unordered_set< DtUnicode > UsedGridLabels
Definition: DtProjectedGridLinesDrawer.h:200
A unicode string.
Definition: DtUnicode.h:33
LabelPosition
Represent an screen edge to place a label on.
Definition: DtProjectedGridLinesDrawer.h:79
double end
Definition: DtProjectedGridLinesDrawer.h:153
LabelPosition myNorthSouthLabelPosition
Definition: DtProjectedGridLinesDrawer.h:222
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
double myAnchoredMaxX
Definition: DtProjectedGridLinesDrawer.h:218
double myEndWindowX
Definition: DtProjectedGridLinesDrawer.h:212
std::vector< float > VertexList
his type can be used to provide a list of vertices to the polygon objects
Definition: DtProjectedGridLinesDrawer.h:177
A class for controlling text owned by the TextRenderer.
Definition: DtTextRenderer.h:90
osg::Vec2d myCenter
Definition: DtProjectedGridLinesDrawer.h:209
GridLineVector myEastWestLines
Definition: DtProjectedGridLinesDrawer.h:202
GridBoxLabelArray myGridBoxLabels
Definition: DtProjectedGridLinesDrawer.h:204
double myAnchoredMinX
Definition: DtProjectedGridLinesDrawer.h:216
vrvGraphics-based implementation of 2D Grid Lines on projected databases \ingroup vrvOsg ...
Definition: DtProjectedGridLinesDrawer.h:41
TextAlignement
Definition: DtFont.h:33
DtLineSegment * line
Definition: DtProjectedGridLinesDrawer.h:147
double myXSpacing
Definition: DtProjectedGridLinesDrawer.h:220
std::vector< DtTextProxy * > GridBoxLabelArray
Definition: DtProjectedGridLinesDrawer.h:159
A class which represents a single line segment.
Definition: DtLineSegment.h:21
double myAnchoredMaxY
Definition: DtProjectedGridLinesDrawer.h:219
UsedGridLabels myUsedGridLabels
Definition: DtProjectedGridLinesDrawer.h:206
double myYSpacing
Definition: DtProjectedGridLinesDrawer.h:221
double value
Definition: DtProjectedGridLinesDrawer.h:149
LabelPosition myEastWestLabelPosition
Definition: DtProjectedGridLinesDrawer.h:223
double myHeading
Definition: DtProjectedGridLinesDrawer.h:208
Contains the DtGridLinesSettingsRecord class declaration.
GridLineVector myNorthSouthLines
Definition: DtProjectedGridLinesDrawer.h:203
DtTextProxy * label
Definition: DtProjectedGridLinesDrawer.h:148
std::vector< GridLine > GridLineVector
Definition: DtProjectedGridLinesDrawer.h:156
double myStartWindowX
Definition: DtProjectedGridLinesDrawer.h:210
Contains makVrv::DtFont class.
Base class with common data / methods for drawing grid lines on projected and geocentric databases \i...
Definition: DtGridLinesDrawer.h:35
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
double start
Definition: DtProjectedGridLinesDrawer.h:152
double myScale
Definition: DtProjectedGridLinesDrawer.h:214
double myStartWindowY
Definition: DtProjectedGridLinesDrawer.h:211
double myEndWindowY
Definition: DtProjectedGridLinesDrawer.h:213
Definition: DtProjectedGridLinesDrawer.h:79
Definition: DtProjectedGridLinesDrawer.h:144
A simple bounding box.
Definition: DtBoundingBox.h:101