VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Slots | Protected Member Functions | Protected Attributes
makVrf::DtTerrainProfileWidget Class Reference

This class will display a terrain profile graph, which is the graph of a distance over a line and the altitudes of the terrain along sample points along that line. More...

Inheritance diagram for makVrf::DtTerrainProfileWidget:
Inheritance graph
[legend]

Public Types

enum  ReplotFlag { FullReplot = 0x00000001, ReplotPoints = 0x00000002, UpdateGraphOnly = 0x00000004 }
 

Public Member Functions

 DtTerrainProfileWidget (makVrv::DtDe &de, QWidget *parent=NULL, const Qt::WindowFlags &flags=0)
 Constructor. More...
 
virtual ~DtTerrainProfileWidget ()
 Destructor. More...
 
virtual void init ()
 Initializes the widget by creating GUI (plot) elements and initializing member variables. More...
 
virtual void setDataProvider (DtTerrainProfileDataProvider *)
 Sets the data provider for this graph. More...
 
virtual void replot ()
 Redraws the graph given the existing profile data and settings. More...
 
virtual void setSamplingRate (double)
 Sets the frequency in distance to check along the line for terrain points. More...
 
double samplingRate () const
 
virtual void setMaximumSamplingPoints (int)
 Sets the maximum number of points to check. More...
 
int maximumSamplingPoints () const
 
virtual void setUseBackendForProfile (bool)
 
bool useBackendForProfile () const
 
bool replotting () const
 
virtual void clearGraph ()
 Clears the graph of all data. More...
 
virtual bool backendCanBeUsedForProfileData () const
 Whether or not the back-end can be used for profile data. More...
 
virtual bool allDataFromFrontEnd () const
 Whether or not all the data is from the front-end. More...
 
virtual bool allDataFromBackEnd () const
 Whether or not all the data is from the back-end. More...
 
virtual void labelDataForTerrainProfilePosition (const QPointF &pos, const DtVector &geoc, double distanceOnLine, double height, int soilType=0)
 Sets the label information for the geocentric position, height and soil type. More...
 
virtual void setReplotTime (int)
 Sets the time (in milliseconds) to wait before doing a replot. More...
 
int replotTime () const
 
virtual void setScaleFactor (double)
 Value to scale difference between max and min height of terrain. More...
 
double scaleFactor () const
 
virtual void suspend ()
 Suspends this graph. This means that there shall be no updates made to this graph. More...
 
virtual void resume ()
 Resumes graph updates. Will do a full replot. More...
 
virtual bool isSuspended () const
 Returns true if this graph has been suspended. More...
 
virtual void setShowVertices (bool)
 If true will put a vertex marker at each point on the line. More...
 
bool showVertices () const
 
virtual void setShowVertexNumbers (bool)
 If true will put a number label next to each vertex marker. More...
 
bool showVertexNumbers () const
 
virtual void setSuspendForMovement (bool)
 Sets whether or not the symbol tracker will suspend if the line points are changing. Default is true. More...
 
virtual bool suspendForMovement () const
 
virtual void setDistanceMoveTolerance (double)
 Distance a tracked entity must move to signal an update. Default is 10 meters. More...
 
virtual double distanceMoveTolerance () const
 
virtual QString dataStatus () const
 Text which represents the current source of data (Front-End, Back-End or # points received from Back-End) More...
 
virtual void requestPlotPointsIfNeeded (bool force=false)
 Requests data from server. Set force to true to force even if data is not frozen. More...
 

Public Attributes

boost::signals2::signal< void()> signal_ready
 Signal only once when graph is ready to show (at least two points) More...
 
boost::signals2::signal< void()> signal_dataStatusChanged
 Signal sent when the status of the data has changed. More...
 
boost::signals2::signal< void(int)> signal_replotted
 Signal when the graph has been replotted. More...
 
QwtPlot * myTerrainProfileGraph
 
QVBoxLayout * myMainLayout
 
QwtPlotCurve * myTerrainLine
 
QwtPlotCurve * myTerrainProfile
 
QwtPlotPickermyPlotPicker
 
QLabelmySelectedPointLabel
 
QLabelmySelectedPoint
 

Static Public Attributes

static QColor theTerrainProfileLineColor
 

Protected Types

typedef std::map
< makVrv::DtElementID,
QwtPlotMarker * > 
TrackedEntities
 Map of plot markers for entities being tracked. More...
 
typedef std::map
< makVrv::DtUniqueID, DtVector
WaitingForPlot
 

Protected Slots

virtual void plotMouseReleased (const QPointF &)
 Called when the mouse is released on the plot area, will show a mark on the terrain line and information about that point. More...
 

Protected Member Functions

virtual void createProfileGraph ()
 Create the graph object that will be used to show the terrain profile. More...
 
virtual void initConnections ()
 Initializes any connections (boost or Qt) needed to support this graph. More...
 
virtual bool updateProfileData ()
 Updates local data represented by the profile id to watch. If data has changed will return true, else false. More...
 
virtual void slot_dataUpdated ()
 Called when the state view is updated, if profile data is updated will redraw the graph. More...
 
virtual void slot_dataRemoved ()
 Called when an object is about to be removed, will clear the graph. More...
 
virtual void calculateReplotRanges (std::vector< QPoint > &) const
 Figures out the range to recalculate points for in line plot. More...
 
virtual double calculateLineLength (const std::vector< DtVector > &) const
 Returns the length of the line given the number of points. More...
 
virtual double calculateSegment (const QPoint &segment, double lineLength)
 Calculates the points for the curve along the given segment of the line. Returns the length of the segment. More...
 
virtual double segmentLength (const QPoint &) const
 Convenience routines to calculate the length of a segment of a line. More...
 
virtual double segmentLength (int start, int end) const
 
virtual double terrainHeight (const DtVector &, int position=-1) const
 Returns terrain height at geocentric position. More...
 
virtual double lineHeight (int pos) const
 Returns the height of the line at the given position. More...
 
virtual void setupLabels ()
 Sets labels for the graph based on current display unit settings. More...
 
void slot_onUnitChanged (int attribute, int from)
 Called when unit display settings change, see if any graph data needs to change. More...
 
virtual double altitudeValueFor (double) const
 Given current display units settings, return altitude or distance for those settings based on meters. More...
 
virtual double distanceValueFor (double) const
 
virtual double altitudeFromDisplayValue (double) const
 Given current display units settings, return altitude or distance in meters from the given display value. More...
 
virtual double distanceFromDisplayValue (double) const
 
virtual void convertAltitudeAndDistance (int newAltitudeUnits, int newDistanceUnits, bool replot=true)
 Given the current altitude and distance settings, convert to the new settings and redisplay graph. More...
 
virtual void convertAltitudeAndDistance (QVector< QPointF > &, int newAltitudeUnits, int newDistanceUnits) const
 Converts x (distance) and y (altitude) in place in the vectors. More...
 
virtual void convertAltitudeAndDistance (QwtPlotMarker *, int newAltitudeUnits, int newDistanceUnits) const
 
virtual void deferredReplot (int flag=FullReplot)
 Connect to DE pre-tick to replot graph. If full does a full redraw of graph, else just a simple replot. More...
 
virtual QwtPlotMarker * addMarker (double x, double y)
 Adds a point marker to the x, y coordinate. More...
 
virtual void setupPointMarkerLabel ()
 Sets the label on the point marker to the current point location. More...
 
virtual void onTerrainProfileSettingsChanged (const DtTerrainProfileSettingsRecord &)
 Called when terrain profile settings change, modify graph to match. More...
 
virtual void createSymbolTracker ()
 Creates a symbol tracker to track symbols within a certain range near the line. More...
 
virtual void trackEntity (const DtVector &geocentricPosition, const makVrv::DtStateView< makVrv::DtVrlinkSimulatedEntityState > *)
 Start tracking or continue tracking the given entity. More...
 
virtual void stopTrackingEntity (makVrv::DtElementID)
 Stop tracking entity. More...
 
virtual void clearTrackingSymbols (bool suspended=false)
 Clears out all symbols being tracked and deletes the symbol tracker. More...
 
virtual QwtSymbolsymbolFor (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedEntityState > *) const
 Returns a symbol for the given sim state view to be placed on the plot graph. More...
 
virtual int linePositionFromLocation (const DtVector &geocentricLocation, QPointF &result, bool trackedItem=false) const
 Given a geocentric point, convert point to a position on the line of distance along the line and height. More...
 
virtual int locationFromPlotPosition (const QPointF &result, DtVector &geocentricLocation) const
 Given a position on the line of distance along the line and height, return a geocentric point. Returns the segment hit. More...
 
virtual int closestPoint (const DtVector &v, double &range, double &totalRange, bool trackedItem=false) const
 Given a geocentric coordinate, find the closest point to that on the line being plotted. More...
 
virtual void timedReplot ()
 Method called when a page tile is loaded. More...
 
virtual void replotIfTime ()
 
virtual void updateLineVertices (bool replot=true)
 Updates the vertices on the line. More...
 
virtual void resetAltitudeScale (bool replot=true)
 
virtual double elevationAngle (const DtVector &geocentricFrom, const DtVector &geocentricTo) const
 Returns elevation angle from point to point. More...
 
virtual void slot_defaultIconListChanged ()
 
virtual void slot_dataFrozenStateChanged (bool)
 
virtual void processIntersectionResponse (DtSimMessage *msg)
 
virtual void processPointMarkerResponse (DtSimMessage *msg)
 
virtual void cancelTerrainInformationRequest ()
 
virtual void requestPointMarkerInformation (const DtVector &)
 

Protected Attributes

makVrv::DtDemyDe
 
DtTerrainProfileDataProvidermyDataProvider
 
makVrv::DtSignalConnectionManager myConnections
 
std::vector< DtVectormyLinePoints
 Points are in geocentric. More...
 
std::vector< DtVectormyPlotPoints
 The points that were last used to plot the graph. More...
 
double mySamplingRate
 Test the length of the line every N meters along the line. More...
 
int myMaximumSamplingPoints
 Maximum number of points to check. More...
 
std::vector< intmySegmentPoints
 For each segment, the number of plot points on the terrain represented by that segment. More...
 
QVector< QPointF > myTerrainProfilePoints
 The points used to plot the terrain profile. More...
 
std::vector< DtVectormyTerrainDatabasePoints
 The points used for terrain intersection. More...
 
QVector< QPointF > myTerrainLinePoints
 The points used for the line that is being used to sample the terrain segment. More...
 
DtReferenceEllipsoid * myReferenceForConversion
 
makVrv::DtDisplayUnitsConverter::DistanceUnits myAltitudeUnits
 Current units for distance and altitude. Used to check to see if units need to be changed. More...
 
makVrv::DtDisplayUnitsConverter::DistanceUnits myDistanceUnits
 
DtVector myPointMarkerLocation
 Geocentric location of point marker. Used for labels. More...
 
int myPointMarkerSoilType
 
double myPointMarkerDistanceAlongLine
 
double myPointMarkerCurrentHeight
 
QPointF myPointMarkerPosition
 
int myPointMarkerRequestId
 
bool myReady
 Set to true when the graph is ready to display. More...
 
DtSymbolTrackermySymbolTracker
 Class that will be used to track symbols within a particular distance to the given line. More...
 
QwtPlotMarker * myPointMarker
 
TrackedEntities myTrackedEntities
 
QTime * myReplotTimer
 
int myReplotTime
 
double myMinimumHeight
 
double myMaximumHeight
 
double myScaleFactor
 
double myBuffer
 
bool mySuspended
 
bool myReplotting
 
bool myShowVertices
 
bool myShowVertexNumbers
 
QImage * myVertexImage
 
std::vector< QwtPlotMarker * > myVertices
 
bool myFirstPlot
 
bool myResuming
 
WaitingForPlot myWaitingForPlot
 
bool mySuspendForMovement
 
double myDistanceMoveTolerance
 
int myReplotFlag
 
bool myTrackHistory
 
bool myUseBackendForProfile
 
makVrv::DtSignalConnectionManager myDataProviderConnections
 
int myTerrainInformationRequestId
 
std::map< int, DtVectormyReceivedTerrainProfileInformationFor
 

Detailed Description

This class will display a terrain profile graph, which is the graph of a distance over a line and the altitudes of the terrain along sample points along that line.

The Qwt toolkit is used for the actual rendering of the graph. This widget will calculate the points on the graph to display as well as manage helper classes to show tracked symbols and the provider of point data for this graph. It listens to signals sent by the DtTerrainProfileSettingsManager to indicate when graph settings have changed and apply them to this graph.

If you wish to use this object and supply your own (or existing) data, you must create a DtTerrainProfileDataProvider object to provide data that this class needs in order to render the graph

Member Typedef Documentation

typedef std::map<makVrv::DtElementID, QwtPlotMarker*> makVrf::DtTerrainProfileWidget::TrackedEntities
protected

Map of plot markers for entities being tracked.

Member Enumeration Documentation

Enumerator
FullReplot 
ReplotPoints 
UpdateGraphOnly 

Constructor & Destructor Documentation

makVrf::DtTerrainProfileWidget::DtTerrainProfileWidget ( makVrv::DtDe de,
QWidget *  parent = NULL,
const Qt::WindowFlags &  flags = 0 
)

Constructor.

virtual makVrf::DtTerrainProfileWidget::~DtTerrainProfileWidget ( )
virtual

Destructor.

Member Function Documentation

virtual void makVrf::DtTerrainProfileWidget::init ( )
virtual

Initializes the widget by creating GUI (plot) elements and initializing member variables.

To use this to start a profile line for a particular item, call the setDataProvider() method with the provider of the object you wish to profile

virtual void makVrf::DtTerrainProfileWidget::setDataProvider ( DtTerrainProfileDataProvider )
virtual

Sets the data provider for this graph.

Does not take ownership of the pointer, so, it is up to the developer to free the data provided

virtual void makVrf::DtTerrainProfileWidget::replot ( )
virtual

Redraws the graph given the existing profile data and settings.

virtual void makVrf::DtTerrainProfileWidget::setSamplingRate ( double  )
virtual

Sets the frequency in distance to check along the line for terrain points.

double makVrf::DtTerrainProfileWidget::samplingRate ( ) const
virtual void makVrf::DtTerrainProfileWidget::setMaximumSamplingPoints ( int  )
virtual

Sets the maximum number of points to check.

int makVrf::DtTerrainProfileWidget::maximumSamplingPoints ( ) const
virtual void makVrf::DtTerrainProfileWidget::setUseBackendForProfile ( bool  )
virtual
bool makVrf::DtTerrainProfileWidget::useBackendForProfile ( ) const
inline
bool makVrf::DtTerrainProfileWidget::replotting ( ) const
inline
virtual void makVrf::DtTerrainProfileWidget::clearGraph ( )
virtual

Clears the graph of all data.

virtual bool makVrf::DtTerrainProfileWidget::backendCanBeUsedForProfileData ( ) const
virtual

Whether or not the back-end can be used for profile data.

virtual bool makVrf::DtTerrainProfileWidget::allDataFromFrontEnd ( ) const
virtual

Whether or not all the data is from the front-end.

virtual bool makVrf::DtTerrainProfileWidget::allDataFromBackEnd ( ) const
virtual

Whether or not all the data is from the back-end.

virtual void makVrf::DtTerrainProfileWidget::labelDataForTerrainProfilePosition ( const QPointF &  pos,
const DtVector geoc,
double  distanceOnLine,
double  height,
int  soilType = 0 
)
virtual

Sets the label information for the geocentric position, height and soil type.

virtual void makVrf::DtTerrainProfileWidget::setReplotTime ( int  )
virtual

Sets the time (in milliseconds) to wait before doing a replot.

This will be used when replotting from paging in terrain as to not continually replot as many pages might page in at once. Default is 5 seconds

int makVrf::DtTerrainProfileWidget::replotTime ( ) const
virtual void makVrf::DtTerrainProfileWidget::setScaleFactor ( double  )
virtual

Value to scale difference between max and min height of terrain.

will provide a buffer above the maximum height Default is 1.0. Factor will not be allowed to go below 1.0

double makVrf::DtTerrainProfileWidget::scaleFactor ( ) const
virtual void makVrf::DtTerrainProfileWidget::suspend ( )
virtual

Suspends this graph. This means that there shall be no updates made to this graph.

virtual void makVrf::DtTerrainProfileWidget::resume ( )
virtual

Resumes graph updates. Will do a full replot.

virtual bool makVrf::DtTerrainProfileWidget::isSuspended ( ) const
virtual

Returns true if this graph has been suspended.

virtual void makVrf::DtTerrainProfileWidget::setShowVertices ( bool  )
virtual

If true will put a vertex marker at each point on the line.

bool makVrf::DtTerrainProfileWidget::showVertices ( ) const
virtual void makVrf::DtTerrainProfileWidget::setShowVertexNumbers ( bool  )
virtual

If true will put a number label next to each vertex marker.

bool makVrf::DtTerrainProfileWidget::showVertexNumbers ( ) const
virtual void makVrf::DtTerrainProfileWidget::setSuspendForMovement ( bool  )
virtual

Sets whether or not the symbol tracker will suspend if the line points are changing. Default is true.

virtual bool makVrf::DtTerrainProfileWidget::suspendForMovement ( ) const
virtual
virtual void makVrf::DtTerrainProfileWidget::setDistanceMoveTolerance ( double  )
virtual

Distance a tracked entity must move to signal an update. Default is 10 meters.

virtual double makVrf::DtTerrainProfileWidget::distanceMoveTolerance ( ) const
virtual
virtual QString makVrf::DtTerrainProfileWidget::dataStatus ( ) const
virtual

Text which represents the current source of data (Front-End, Back-End or # points received from Back-End)

virtual void makVrf::DtTerrainProfileWidget::requestPlotPointsIfNeeded ( bool  force = false)
virtual

Requests data from server. Set force to true to force even if data is not frozen.

virtual void makVrf::DtTerrainProfileWidget::createProfileGraph ( )
protectedvirtual

Create the graph object that will be used to show the terrain profile.

virtual void makVrf::DtTerrainProfileWidget::initConnections ( )
protectedvirtual

Initializes any connections (boost or Qt) needed to support this graph.

virtual bool makVrf::DtTerrainProfileWidget::updateProfileData ( )
protectedvirtual

Updates local data represented by the profile id to watch. If data has changed will return true, else false.

virtual void makVrf::DtTerrainProfileWidget::slot_dataUpdated ( )
protectedvirtual

Called when the state view is updated, if profile data is updated will redraw the graph.

virtual void makVrf::DtTerrainProfileWidget::slot_dataRemoved ( )
protectedvirtual

Called when an object is about to be removed, will clear the graph.

virtual void makVrf::DtTerrainProfileWidget::calculateReplotRanges ( std::vector< QPoint > &  ) const
protectedvirtual

Figures out the range to recalculate points for in line plot.

The points are pairs, so, if more than one range needs to be recalculated, it will contain multiple entries

virtual double makVrf::DtTerrainProfileWidget::calculateLineLength ( const std::vector< DtVector > &  ) const
protectedvirtual

Returns the length of the line given the number of points.

Only calculates on X/Y plane. Does not take Z coordinate into account. Points must be in geocentric

virtual double makVrf::DtTerrainProfileWidget::calculateSegment ( const QPoint &  segment,
double  lineLength 
)
protectedvirtual

Calculates the points for the curve along the given segment of the line. Returns the length of the segment.

virtual double makVrf::DtTerrainProfileWidget::segmentLength ( const QPoint &  ) const
protectedvirtual

Convenience routines to calculate the length of a segment of a line.

virtual double makVrf::DtTerrainProfileWidget::segmentLength ( int  start,
int  end 
) const
protectedvirtual
virtual double makVrf::DtTerrainProfileWidget::terrainHeight ( const DtVector ,
int  position = -1 
) const
protectedvirtual

Returns terrain height at geocentric position.

virtual double makVrf::DtTerrainProfileWidget::lineHeight ( int  pos) const
protectedvirtual

Returns the height of the line at the given position.

virtual void makVrf::DtTerrainProfileWidget::setupLabels ( )
protectedvirtual

Sets labels for the graph based on current display unit settings.

void makVrf::DtTerrainProfileWidget::slot_onUnitChanged ( int  attribute,
int  from 
)
protected

Called when unit display settings change, see if any graph data needs to change.

virtual double makVrf::DtTerrainProfileWidget::altitudeValueFor ( double  ) const
protectedvirtual

Given current display units settings, return altitude or distance for those settings based on meters.

virtual double makVrf::DtTerrainProfileWidget::distanceValueFor ( double  ) const
protectedvirtual
virtual double makVrf::DtTerrainProfileWidget::altitudeFromDisplayValue ( double  ) const
protectedvirtual

Given current display units settings, return altitude or distance in meters from the given display value.

virtual double makVrf::DtTerrainProfileWidget::distanceFromDisplayValue ( double  ) const
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::convertAltitudeAndDistance ( int  newAltitudeUnits,
int  newDistanceUnits,
bool  replot = true 
)
protectedvirtual

Given the current altitude and distance settings, convert to the new settings and redisplay graph.

virtual void makVrf::DtTerrainProfileWidget::convertAltitudeAndDistance ( QVector< QPointF > &  ,
int  newAltitudeUnits,
int  newDistanceUnits 
) const
protectedvirtual

Converts x (distance) and y (altitude) in place in the vectors.

virtual void makVrf::DtTerrainProfileWidget::convertAltitudeAndDistance ( QwtPlotMarker *  ,
int  newAltitudeUnits,
int  newDistanceUnits 
) const
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::deferredReplot ( int  flag = FullReplot)
protectedvirtual

Connect to DE pre-tick to replot graph. If full does a full redraw of graph, else just a simple replot.

virtual QwtPlotMarker* makVrf::DtTerrainProfileWidget::addMarker ( double  x,
double  y 
)
protectedvirtual

Adds a point marker to the x, y coordinate.

virtual void makVrf::DtTerrainProfileWidget::setupPointMarkerLabel ( )
protectedvirtual

Sets the label on the point marker to the current point location.

virtual void makVrf::DtTerrainProfileWidget::onTerrainProfileSettingsChanged ( const DtTerrainProfileSettingsRecord )
protectedvirtual

Called when terrain profile settings change, modify graph to match.

virtual void makVrf::DtTerrainProfileWidget::createSymbolTracker ( )
protectedvirtual

Creates a symbol tracker to track symbols within a certain range near the line.

The symbol tracker will emit signals for symbols coming near the line, moving away from the line and moving if they are tracked. This class will show the plot symbols for those tracked symbols

virtual void makVrf::DtTerrainProfileWidget::trackEntity ( const DtVector geocentricPosition,
const makVrv::DtStateView< makVrv::DtVrlinkSimulatedEntityState > *   
)
protectedvirtual

Start tracking or continue tracking the given entity.

virtual void makVrf::DtTerrainProfileWidget::stopTrackingEntity ( makVrv::DtElementID  )
protectedvirtual

Stop tracking entity.

virtual void makVrf::DtTerrainProfileWidget::clearTrackingSymbols ( bool  suspended = false)
protectedvirtual

Clears out all symbols being tracked and deletes the symbol tracker.

virtual QwtSymbol* makVrf::DtTerrainProfileWidget::symbolFor ( const makVrv::DtStateView< makVrv::DtVrlinkSimulatedEntityState > *  ) const
protectedvirtual

Returns a symbol for the given sim state view to be placed on the plot graph.

virtual int makVrf::DtTerrainProfileWidget::linePositionFromLocation ( const DtVector geocentricLocation,
QPointF &  result,
bool  trackedItem = false 
) const
protectedvirtual

Given a geocentric point, convert point to a position on the line of distance along the line and height.

Returns the segment hit

virtual int makVrf::DtTerrainProfileWidget::locationFromPlotPosition ( const QPointF &  result,
DtVector geocentricLocation 
) const
protectedvirtual

Given a position on the line of distance along the line and height, return a geocentric point. Returns the segment hit.

virtual int makVrf::DtTerrainProfileWidget::closestPoint ( const DtVector v,
double range,
double totalRange,
bool  trackedItem = false 
) const
protectedvirtual

Given a geocentric coordinate, find the closest point to that on the line being plotted.

The range variable will contain the current distance to get to the segment for the closest point, the totalRange along the line left, and the method will return the segment hit. If the method returns -1, no segment is valid

virtual void makVrf::DtTerrainProfileWidget::timedReplot ( )
protectedvirtual

Method called when a page tile is loaded.

If timer is not started, restarts, else, checks elapsed time. If

than replotTime, replots and removes current timer

virtual void makVrf::DtTerrainProfileWidget::replotIfTime ( )
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::updateLineVertices ( bool  replot = true)
protectedvirtual

Updates the vertices on the line.

virtual void makVrf::DtTerrainProfileWidget::resetAltitudeScale ( bool  replot = true)
protectedvirtual
virtual double makVrf::DtTerrainProfileWidget::elevationAngle ( const DtVector geocentricFrom,
const DtVector geocentricTo 
) const
protectedvirtual

Returns elevation angle from point to point.

virtual void makVrf::DtTerrainProfileWidget::slot_defaultIconListChanged ( )
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::slot_dataFrozenStateChanged ( bool  )
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::processIntersectionResponse ( DtSimMessage msg)
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::processPointMarkerResponse ( DtSimMessage msg)
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::cancelTerrainInformationRequest ( )
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::requestPointMarkerInformation ( const DtVector )
protectedvirtual
virtual void makVrf::DtTerrainProfileWidget::plotMouseReleased ( const QPointF &  )
protectedvirtualslot

Called when the mouse is released on the plot area, will show a mark on the terrain line and information about that point.

Member Data Documentation

boost::signals2::signal<void ()> makVrf::DtTerrainProfileWidget::signal_ready

Signal only once when graph is ready to show (at least two points)

boost::signals2::signal<void ()> makVrf::DtTerrainProfileWidget::signal_dataStatusChanged

Signal sent when the status of the data has changed.

boost::signals2::signal<void (int)> makVrf::DtTerrainProfileWidget::signal_replotted

Signal when the graph has been replotted.

makVrv::DtDe& makVrf::DtTerrainProfileWidget::myDe
protected
DtTerrainProfileDataProvider* makVrf::DtTerrainProfileWidget::myDataProvider
protected
makVrv::DtSignalConnectionManager makVrf::DtTerrainProfileWidget::myConnections
protected
std::vector<DtVector> makVrf::DtTerrainProfileWidget::myLinePoints
protected

Points are in geocentric.

std::vector<DtVector> makVrf::DtTerrainProfileWidget::myPlotPoints
protected

The points that were last used to plot the graph.

These will be used with the current line points to try and more efficiently replot only parts of the graph that need replotting

double makVrf::DtTerrainProfileWidget::mySamplingRate
protected

Test the length of the line every N meters along the line.

int makVrf::DtTerrainProfileWidget::myMaximumSamplingPoints
protected

Maximum number of points to check.

std::vector<int> makVrf::DtTerrainProfileWidget::mySegmentPoints
protected

For each segment, the number of plot points on the terrain represented by that segment.

QVector<QPointF> makVrf::DtTerrainProfileWidget::myTerrainProfilePoints
protected

The points used to plot the terrain profile.

std::vector<DtVector> makVrf::DtTerrainProfileWidget::myTerrainDatabasePoints
protected

The points used for terrain intersection.

QVector<QPointF> makVrf::DtTerrainProfileWidget::myTerrainLinePoints
protected

The points used for the line that is being used to sample the terrain segment.

DtReferenceEllipsoid* makVrf::DtTerrainProfileWidget::myReferenceForConversion
protected
makVrv::DtDisplayUnitsConverter::DistanceUnits makVrf::DtTerrainProfileWidget::myAltitudeUnits
protected

Current units for distance and altitude. Used to check to see if units need to be changed.

makVrv::DtDisplayUnitsConverter::DistanceUnits makVrf::DtTerrainProfileWidget::myDistanceUnits
protected
DtVector makVrf::DtTerrainProfileWidget::myPointMarkerLocation
protected

Geocentric location of point marker. Used for labels.

int makVrf::DtTerrainProfileWidget::myPointMarkerSoilType
protected
double makVrf::DtTerrainProfileWidget::myPointMarkerDistanceAlongLine
protected
double makVrf::DtTerrainProfileWidget::myPointMarkerCurrentHeight
protected
QPointF makVrf::DtTerrainProfileWidget::myPointMarkerPosition
protected
int makVrf::DtTerrainProfileWidget::myPointMarkerRequestId
protected
bool makVrf::DtTerrainProfileWidget::myReady
protected

Set to true when the graph is ready to display.

DtSymbolTracker* makVrf::DtTerrainProfileWidget::mySymbolTracker
protected

Class that will be used to track symbols within a particular distance to the given line.

The tracker will emit signals as symbols come to or move away from the line

QwtPlotMarker* makVrf::DtTerrainProfileWidget::myPointMarker
protected
TrackedEntities makVrf::DtTerrainProfileWidget::myTrackedEntities
protected
QTime* makVrf::DtTerrainProfileWidget::myReplotTimer
protected
int makVrf::DtTerrainProfileWidget::myReplotTime
protected
double makVrf::DtTerrainProfileWidget::myMinimumHeight
protected
double makVrf::DtTerrainProfileWidget::myMaximumHeight
protected
double makVrf::DtTerrainProfileWidget::myScaleFactor
protected
double makVrf::DtTerrainProfileWidget::myBuffer
protected
bool makVrf::DtTerrainProfileWidget::mySuspended
protected
bool makVrf::DtTerrainProfileWidget::myReplotting
protected
bool makVrf::DtTerrainProfileWidget::myShowVertices
protected
bool makVrf::DtTerrainProfileWidget::myShowVertexNumbers
protected
QImage* makVrf::DtTerrainProfileWidget::myVertexImage
protected
std::vector<QwtPlotMarker*> makVrf::DtTerrainProfileWidget::myVertices
protected
bool makVrf::DtTerrainProfileWidget::myFirstPlot
protected
bool makVrf::DtTerrainProfileWidget::myResuming
protected
WaitingForPlot makVrf::DtTerrainProfileWidget::myWaitingForPlot
protected
bool makVrf::DtTerrainProfileWidget::mySuspendForMovement
protected
double makVrf::DtTerrainProfileWidget::myDistanceMoveTolerance
protected
int makVrf::DtTerrainProfileWidget::myReplotFlag
protected
bool makVrf::DtTerrainProfileWidget::myTrackHistory
protected
bool makVrf::DtTerrainProfileWidget::myUseBackendForProfile
protected
makVrv::DtSignalConnectionManager makVrf::DtTerrainProfileWidget::myDataProviderConnections
protected
int makVrf::DtTerrainProfileWidget::myTerrainInformationRequestId
protected
std::map<int, DtVector> makVrf::DtTerrainProfileWidget::myReceivedTerrainProfileInformationFor
protected
QwtPlot* makVrf::DtTerrainProfileWidget::myTerrainProfileGraph
QVBoxLayout* makVrf::DtTerrainProfileWidget::myMainLayout
QwtPlotCurve* makVrf::DtTerrainProfileWidget::myTerrainLine
QwtPlotCurve* makVrf::DtTerrainProfileWidget::myTerrainProfile
QwtPlotPicker* makVrf::DtTerrainProfileWidget::myPlotPicker
QLabel* makVrf::DtTerrainProfileWidget::mySelectedPointLabel
QLabel* makVrf::DtTerrainProfileWidget::mySelectedPoint
QColor makVrf::DtTerrainProfileWidget::theTerrainProfileLineColor
static

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)