25 #include <boost/unordered_set.hpp>
31 class DtOverlayRenderer;
35 class DtCoordinateSystem;
51 virtual void drawGridLines();
54 virtual void setMaxGridLines(
int maxGridLines );
58 virtual void setWindowDimensions(
double startWindowX,
double startWindowY,
59 double endWindowX,
double endWindowY );
62 virtual void setCenter(
const osg::Vec2d& center );
65 virtual void setHeading(
double heading );
68 virtual void setScale(
double scale );
71 virtual void destroyGridLines();
75 virtual void reloadTextFonts();
81 virtual void drawNorthSouthGridLinesAndLabels();
84 virtual void drawEastWestGridLinesAndLabels();
88 virtual void findSpacing();
93 virtual void anchorAndOffsetLines();
99 virtual DtUnicode createLabel(
const double& xMeters,
const double& yMeters,
bool isNorthSouth );
101 virtual bool labelGridBox(
double nsValue,
double ewValue,
int labelIndex );
105 void convertDegreeSpacingToMeters(
double gridSpacing,
double& xSpacing,
double& ySpacing )
const;
109 double& xOffset,
double& yOffset,
DtBoundingBox& bbox )
const;
113 double& xOffset,
double& yOffset,
DtBoundingBox& bbox )
const;
116 virtual LabelPosition calcLabelPosition(
double x,
double y )
const;
119 virtual void calcDesiredLabelPosition();
123 double degreesLatitudeToMeters(
double x,
double y )
const;
125 double convertToMetersOrDegrees(
double value )
const;
129 virtual double degreesLongitudeToMeters()
const;
133 virtual double fixedSpacingAmount()
const;
137 virtual double xOffset()
const;
141 virtual double yOffset()
const;
160 virtual void clearUnusedLinesAndLabels(
int index,
GridLineVector& lines );
162 virtual void clearUnusedGridBoxLabels(
int index );
164 virtual bool drawGridLineAndLabel(
double startX,
double startY,
165 double endX,
double endY,
GridLine& gridLine,
float* lineColor,
166 LabelPosition labelPosition,
float* labelColor,
bool isNorthSouth );
169 virtual void slot_coordinateSystemChanged();
176 virtual void labelGridBoxes();
double myAnchoredMinY
Definition: DtProjectedGridLinesDrawer.h:219
boost::unordered_set< DtUnicode > UsedGridLabels
Definition: DtProjectedGridLinesDrawer.h:202
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
LabelPosition
Represent an screen edge to place a label on.
Definition: DtProjectedGridLinesDrawer.h:78
double end
Definition: DtProjectedGridLinesDrawer.h:152
LabelPosition myNorthSouthLabelPosition
Definition: DtProjectedGridLinesDrawer.h:224
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
TextAlignment
Definition: DtFontInterface.h:26
double myAnchoredMaxX
Definition: DtProjectedGridLinesDrawer.h:220
double myEndWindowX
Definition: DtProjectedGridLinesDrawer.h:214
std::vector< float > VertexList
his type can be used to provide a list of vertices to the polygon objects
Definition: DtProjectedGridLinesDrawer.h:179
A class for controlling text owned by the TextRenderer.
Definition: DtTextProxy.h:33
osg::Vec2d myCenter
Definition: DtProjectedGridLinesDrawer.h:211
GridLineVector myEastWestLines
Definition: DtProjectedGridLinesDrawer.h:204
GridBoxLabelArray myGridBoxLabels
Definition: DtProjectedGridLinesDrawer.h:206
double myAnchoredMinX
Definition: DtProjectedGridLinesDrawer.h:218
vrvGraphics-based implementation of 2D Grid Lines on projected databases \ingroup vrvOsg ...
Definition: DtProjectedGridLinesDrawer.h:40
DtLineSegment * line
Definition: DtProjectedGridLinesDrawer.h:146
double myXSpacing
Definition: DtProjectedGridLinesDrawer.h:222
std::vector< DtTextProxy * > GridBoxLabelArray
Definition: DtProjectedGridLinesDrawer.h:158
A class which represents a single line segment.
Definition: DtLineSegment.h:23
double myAnchoredMaxY
Definition: DtProjectedGridLinesDrawer.h:221
UsedGridLabels myUsedGridLabels
Definition: DtProjectedGridLinesDrawer.h:208
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager myConnections
Definition: DtProjectedGridLinesDrawer.h:228
double myYSpacing
Definition: DtProjectedGridLinesDrawer.h:223
double value
Definition: DtProjectedGridLinesDrawer.h:148
LabelPosition myEastWestLabelPosition
Definition: DtProjectedGridLinesDrawer.h:225
double myHeading
Definition: DtProjectedGridLinesDrawer.h:210
Contains the DtGridLinesSettingsRecord class declaration.
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
GridLineVector myNorthSouthLines
Definition: DtProjectedGridLinesDrawer.h:205
DtTextProxy * label
Definition: DtProjectedGridLinesDrawer.h:147
std::vector< GridLine > GridLineVector
Definition: DtProjectedGridLinesDrawer.h:155
Base class to provide boost signal/slot management.
double myStartWindowX
Definition: DtProjectedGridLinesDrawer.h:212
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. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
double start
Definition: DtProjectedGridLinesDrawer.h:151
double myScale
Definition: DtProjectedGridLinesDrawer.h:216
double myStartWindowY
Definition: DtProjectedGridLinesDrawer.h:213
double myEndWindowY
Definition: DtProjectedGridLinesDrawer.h:215
Definition: DtProjectedGridLinesDrawer.h:78
Definition: DtProjectedGridLinesDrawer.h:143
A simple bounding box.
Definition: DtBoundingBox.h:101