18 #include <vlpi/entityType.h>
20 #include <qwt_symbol.h>
32 class DtReferenceEllipsoid;
40 class DtTerrainProfileDataProvider;
41 class DtTerrainProfileSettingsRecord;
42 class DtSymbolTracker;
64 FullReplot = 0x00000001,
65 ReplotPoints = 0x00000002,
66 UpdateGraphOnly = 0x00000004
85 virtual void replot();
88 virtual void setSamplingRate(
double);
89 double samplingRate()
const;
92 virtual void setMaximumSamplingPoints(
int);
93 int maximumSamplingPoints()
const;
96 virtual void clearGraph();
100 virtual void setReplotTime(
int);
101 int replotTime()
const;
105 virtual void setScaleFactor(
double);
106 double scaleFactor()
const;
109 virtual void suspend();
112 virtual void resume();
115 virtual bool isSuspended()
const;
118 virtual void setShowVertices(
bool);
119 bool showVertices()
const;
122 virtual void setSuspendForMovement(
bool);
123 virtual bool suspendForMovement()
const;
126 virtual void setDistanceMoveTolerance(
double);
127 virtual double distanceMoveTolerance()
const;
134 virtual void createProfileGraph();
137 virtual void initConnections();
140 virtual bool updateProfileData();
143 virtual void slot_dataUpdated();
146 virtual void slot_dataRemoved();
150 virtual void calculateReplotRanges(std::vector<QPoint>&)
const;
154 virtual double calculateLineLength(
const std::vector<DtVector>&)
const;
157 virtual double calculateSegment(
const QPoint& segment,
double lineLength);
160 virtual double segmentLength(
const QPoint&)
const;
161 virtual double segmentLength(
int start,
int end)
const;
164 virtual double terrainHeight(
int point)
const;
167 virtual double terrainHeight(
const DtVector&)
const;
170 virtual double lineHeight(
int pos)
const;
173 virtual void setupLabels();
176 void slot_onUnitChanged(
int attribute,
int from);
180 virtual double altitudeValueFor(
double)
const;
181 virtual double distanceValueFor(
double)
const;
184 virtual void convertAltitudeAndDistance(
int newAltitudeUnits,
int newDistanceUnits,
bool replot =
true);
187 virtual void convertAltitudeAndDistance(QVector<QPointF>&,
int newAltitudeUnits,
int newDistanceUnits)
const;
188 virtual void convertAltitudeAndDistance(QwtPlotMarker*,
int newAltitudeUnits,
int newDistanceUnits)
const;
191 virtual void deferredReplot(
int flag = FullReplot);
194 virtual QwtPlotMarker* addMarker(
double x,
double y);
197 virtual void setupPointMarkerLabel();
205 virtual void createSymbolTracker();
214 virtual void clearTrackingSymbols(
bool suspended =
false);
221 virtual int linePositionFromLocation(
const DtVector& geocentricLocation, QPointF& result,
bool trackedItem =
false)
const;
226 virtual int closestPoint(
const DtVector& v,
double& range,
double& totalRange,
bool trackedItem =
false)
const;
230 virtual void timedReplot();
231 virtual void replotIfTime();
234 virtual void updateLineVertices(
bool replot =
true);
236 virtual void resetAltitudeScale(
bool replot =
true);
239 virtual double elevationAngle(
const DtVector& geocentricFrom,
const DtVector& geocentricTo)
const;
241 virtual void slot_defaultIconListChanged();
246 virtual void plotMouseReleased(
const QPointF&);
352 { setPixmap(pixmap); setSize(pixmap.size()); };