23 #include <boost/unordered_set.hpp>
30 class DtOverlayRenderer;
49 virtual void drawGridLines();
52 virtual void setMaxGridLines(
int maxGridLines );
56 virtual void setWindowDimensions(
double startWindowX,
double startWindowY,
57 double endWindowX,
double endWindowY );
60 virtual void setCenter(
const osg::Vec2d& center );
63 virtual void setHeading(
double heading );
66 virtual void setScale(
double scale );
69 virtual void destroyGridLines();
73 virtual void reloadTextFonts();
79 virtual void drawNorthSouthGridLinesAndLabels();
82 virtual void drawEastWestGridLinesAndLabels();
86 virtual void findSpacing();
91 virtual void anchorAndOffsetLines();
97 virtual DtUnicode createLabel(
const double& xMeters,
const double& yMeters,
bool isNorthSouth );
99 virtual bool labelGridBox(
double nsValue,
double ewValue,
int labelIndex );
103 void convertDegreeSpacingToMeters(
double gridSpacing,
double& xSpacing,
double& ySpacing )
const;
107 double& xOffset,
double& yOffset,
DtBoundingBox& bbox )
const;
111 double& xOffset,
double& yOffset,
DtBoundingBox& bbox )
const;
114 virtual LabelPosition calcLabelPosition(
double x,
double y )
const;
117 virtual void calcDesiredLabelPosition();
121 double degreesLatitudeToMeters(
double x,
double y )
const;
123 double convertToMetersOrDegrees(
double value )
const;
127 virtual double degreesLongitudeToMeters()
const;
131 virtual double fixedSpacingAmount()
const;
135 virtual double xOffset()
const;
139 virtual double yOffset()
const;
158 virtual void clearUnusedLinesAndLabels(
int index,
GridLineVector& lines );
160 virtual void clearUnusedGridBoxLabels(
int index );
162 virtual bool drawGridLineAndLabel(
double startX,
double startY,
163 double endX,
double endY,
GridLine& gridLine,
float* lineColor,
164 LabelPosition labelPosition,
float* labelColor,
bool isNorthSouth );
171 virtual void labelGridBoxes();
double myAnchoredMinY
Definition: DtProjectedGridLinesDrawer.h:214
boost::unordered_set< DtUnicode > UsedGridLabels
Definition: DtProjectedGridLinesDrawer.h:197
A unicode string.
Definition: DtUnicode.h:33
LabelPosition
Represent an screen edge to place a label on.
Definition: DtProjectedGridLinesDrawer.h:76
double end
Definition: DtProjectedGridLinesDrawer.h:150
LabelPosition myNorthSouthLabelPosition
Definition: DtProjectedGridLinesDrawer.h:219
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
double myAnchoredMaxX
Definition: DtProjectedGridLinesDrawer.h:215
double myEndWindowX
Definition: DtProjectedGridLinesDrawer.h:209
std::vector< float > VertexList
his type can be used to provide a list of vertices to the polygon objects
Definition: DtProjectedGridLinesDrawer.h:174
A class for controlling text owned by the TextRenderer.
Definition: DtTextRenderer.h:90
osg::Vec2d myCenter
Definition: DtProjectedGridLinesDrawer.h:206
GridLineVector myEastWestLines
Definition: DtProjectedGridLinesDrawer.h:199
GridBoxLabelArray myGridBoxLabels
Definition: DtProjectedGridLinesDrawer.h:201
double myAnchoredMinX
Definition: DtProjectedGridLinesDrawer.h:213
vrvGraphics-based implementation of 2D Grid Lines on projected databases \ingroup vrvOsg ...
Definition: DtProjectedGridLinesDrawer.h:38
TextAlignement
Definition: DtFont.h:33
DtLineSegment * line
Definition: DtProjectedGridLinesDrawer.h:144
double myXSpacing
Definition: DtProjectedGridLinesDrawer.h:217
std::vector< DtTextProxy * > GridBoxLabelArray
Definition: DtProjectedGridLinesDrawer.h:156
A class which represents a single line segment.
Definition: DtLineSegment.h:21
double myAnchoredMaxY
Definition: DtProjectedGridLinesDrawer.h:216
UsedGridLabels myUsedGridLabels
Definition: DtProjectedGridLinesDrawer.h:203
double myYSpacing
Definition: DtProjectedGridLinesDrawer.h:218
double value
Definition: DtProjectedGridLinesDrawer.h:146
LabelPosition myEastWestLabelPosition
Definition: DtProjectedGridLinesDrawer.h:220
double myHeading
Definition: DtProjectedGridLinesDrawer.h:205
Contains the DtGridLinesSettingsRecord class declaration.
GridLineVector myNorthSouthLines
Definition: DtProjectedGridLinesDrawer.h:200
DtTextProxy * label
Definition: DtProjectedGridLinesDrawer.h:145
std::vector< GridLine > GridLineVector
Definition: DtProjectedGridLinesDrawer.h:153
double myStartWindowX
Definition: DtProjectedGridLinesDrawer.h:207
Contains makVrv::DtFont class.
Base class with common data / methods for drawing grid lines on projected and geocentric databases \i...
Definition: DtGridLinesDrawer.h:32
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
double start
Definition: DtProjectedGridLinesDrawer.h:149
double myScale
Definition: DtProjectedGridLinesDrawer.h:211
double myStartWindowY
Definition: DtProjectedGridLinesDrawer.h:208
double myEndWindowY
Definition: DtProjectedGridLinesDrawer.h:210
Definition: DtProjectedGridLinesDrawer.h:76
Definition: DtProjectedGridLinesDrawer.h:141
A simple bounding box.
Definition: DtBoundingBox.h:101