VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Signals | Public Member Functions | Static Public Attributes | Protected Types | Protected Slots | Protected Member Functions | Protected Attributes
makVrf::DtRouteProfileWidget Class Reference
Inheritance diagram for makVrf::DtRouteProfileWidget:
Inheritance graph
[legend]

Classes

struct  DtRouteMarker
 

Public Types

typedef unsigned DtRouteMarkerId
 
typedef std::map
< DtRouteMarkerId,
DtRouteMarker
DtRouteMarkerMap
 
typedef std::set< DtRouteMarkerIdDtRouteMarkerIdSet
 
- Public Types inherited from makVrf::DtTerrainProfileWidget
enum  ReplotFlag { FullReplot = 0x00000001, ReplotPoints = 0x00000002, UpdateGraphOnly = 0x00000004 }
 
enum  LineSampleStyle { DisplayAllSamplesStraight, DisplayAllSamplesFollowCurvature, DisplayVerticesOnly }
 

Signals

void vertexClicked (unsigned vertexIndex, unsigned button)
 
void routeMarkerClicked (unsigned markerId, unsigned button)
 
void routeClicked (unsigned afterVertex, double fractionToNextVertex, unsigned button)
 

Public Member Functions

 DtRouteProfileWidget (makVrv::DtDe &de, QWidget *parent=NULL, const Qt::WindowFlags &flags=0)
 
virtual ~DtRouteProfileWidget () override
 
virtual DtVector geocentricPositionOfMarker (DtRouteMarkerId markerId) const
 
virtual DtVector geocentricPositionOfVertex (unsigned vertex) const
 
unsigned numberOfVertices () const
 
virtual DtRouteMarkerId addRouteMarker (unsigned afterVertex, double fractionToNextVertex, const QString &label, QwtSymbol::Style symbol)
 
virtual DtRouteMarkerId addRouteMarker (unsigned afterVertex, double fractionToNextVertex, const QString &label, const std::string &modelDefinition)
 
virtual void removeRouteMarker (DtRouteMarkerId markerId)
 
virtual bool moveRouteMarker (DtRouteMarkerId markerId, unsigned afterVertex, double fractionToNextVertex, unsigned *newAfterVertex=0, double *newFractionToNextVertex=0)
 
virtual void changeRouteMarkerLabel (DtRouteMarkerId markerId, const QString &label)
 
virtual bool isMarkerHidden (DtRouteMarkerId markerId) const
 
virtual void hideRouteMarker (DtRouteMarkerId markerId)
 
virtual void showRouteMarker (DtRouteMarkerId markerId)
 
virtual void setCursor (Qt::CursorShape shape)
 
virtual void selectRouteMarker (DtRouteMarkerId markerId)
 
virtual void selectVertex (unsigned vertexIndex)
 
virtual bool closestRouteLocationToLastCursorPosition (unsigned &afterVertex, double &fractionToNextVertex)
 
virtual bool closestRouteLocationToLastDatabasePosition (const DtVector &dbLocation, unsigned &afterVertex, double &fractionToNextVertex)
 
virtual void closestValidRouteLocation (unsigned afterVertex, double fractionToNextVertex, unsigned &afterVertexValid, double &fractionToNextVertexValid)
 
virtual bool invalidMarkerList (DtRouteMarkerIdSet &idSet) const
 
- Public Member Functions inherited from makVrf::DtTerrainProfileWidget
 DtTerrainProfileWidget (makVrv::DtDe &de, QWidget *parent=NULL, const Qt::WindowFlags &flags=0)
 
virtual ~DtTerrainProfileWidget () override
 
virtual void init ()
 
virtual void setDataProvider (DtTerrainProfileDataProvider *)
 
virtual void replot ()
 
virtual void setSamplingRate (double)
 
double samplingRate () const
 
virtual void setMaximumSamplingPoints (int)
 
int maximumSamplingPoints () const
 
virtual void setUseBackendForProfile (bool)
 
bool useBackendForProfile () const
 
bool replotting () const
 
virtual void clearGraph ()
 
virtual bool backendCanBeUsedForProfileData () const
 
virtual bool allDataFromFrontEnd () const
 
virtual bool allDataFromBackEnd () const
 
virtual void labelDataForTerrainProfilePosition (const QPointF &pos, const DtVector &geoc, double distanceOnLine, double height, int soilType=0)
 
bool hasVertices () const
 
virtual void setReplotTime (int)
 
int replotTime () const
 
virtual void setScaleFactor (double)
 
double scaleFactor () const
 
virtual void suspend ()
 
virtual void resume ()
 
virtual bool isSuspended () const
 
virtual void setShowVertices (bool)
 
bool showVertices () const
 
virtual void setShowVertexNumbers (bool)
 
bool showVertexNumbers () const
 
virtual void setSuspendForMovement (bool)
 
virtual bool suspendForMovement () const
 
virtual void setDistanceMoveTolerance (double)
 
virtual double distanceMoveTolerance () const
 
virtual QString dataStatus () const
 
virtual void requestPlotPointsIfNeeded (bool force=false)
 
virtual void setLineStyle (LineSampleStyle sampleDisplay, Qt::PenStyle style, unsigned size)
 
virtual void setDisplayOnBehalfOf (const std::set< makVrv::DtUniqueID > &)
 
const std::set
< makVrv::DtUniqueID > & 
displayOnBehalfOf () const
 

Static Public Attributes

static const DtRouteMarkerId theInvalidMarkerId
 
static const unsigned theInvalidVertexIndex
 
- Static Public Attributes inherited from makVrf::DtTerrainProfileWidget
static QColor theTerrainProfileLineColor
 

Protected Types

typedef std::pair
< QwtSymbol::Style, qint64 > 
SelectionMarkerId
 
- Protected Types inherited from makVrf::DtTerrainProfileWidget
typedef std::map
< makVrv::DtElementID,
QwtPlotMarker * > 
TrackedEntities
 
typedef std::map
< makVrv::DtUniqueID, DtVector > 
WaitingForPlot
 

Protected Slots

virtual void plotMouseReleased (const QPointF &) override
 
- Protected Slots inherited from makVrf::DtTerrainProfileWidget
virtual void plotMouseReleased (const QPointF &)
 

Protected Member Functions

virtual QwtPlotMarker * createPlotMarker (unsigned afterVertex, double fractionToNextVertex, const QString &label, DtRouteMarkerId &id)
 
virtual QPointF plotPointFromVertexAndFraction (unsigned afterVertex, double fractionToNextVertex) const
 
virtual void vertexAndFractionFromPlotX (double x, unsigned &afterVertex, double &fractionToNextVertex) const
 
virtual QwtPlotMarker * vertexSelectionMarker ()
 
virtual QwtPlotMarker * selectionMarker (const QwtSymbol &symbol)
 
virtual void disableSelectionMarkers ()
 
virtual void slot_onUnitChanged (const makVrv::DtUnicode &category, const makVrv::DtUnicode &type, int to, int from) override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void mouseReleaseEvent (QMouseEvent *event) override
 
- Protected Member Functions inherited from makVrf::DtTerrainProfileWidget
virtual void createProfileGraph ()
 
virtual void initConnections ()
 
virtual bool updateProfileData ()
 
virtual void slot_dataUpdated ()
 
virtual void slot_dataRemoved ()
 
virtual void calculateReplotRanges (std::vector< QPoint > &) const
 
virtual double calculateLineLength (const std::vector< DtVector > &) const
 
virtual double calculateSegment (const QPoint &segment, double lineLength)
 
virtual double segmentLength (const QPoint &) const
 
virtual double segmentLength (int start, int end) const
 
virtual double terrainHeight (const DtVector &, int position=-1) const
 
virtual double lineHeight (int pos) const
 
virtual void setupLabels ()
 
virtual double altitudeValueFor (double) const
 
virtual double distanceValueFor (double) const
 
virtual double altitudeFromDisplayValue (double) const
 
virtual double distanceFromDisplayValue (double) const
 
virtual void convertAltitudeAndDistance (int newAltitudeUnits, int newDistanceUnits, bool replot=true)
 
virtual void convertAltitudeAndDistance (QVector< QPointF > &, int newAltitudeUnits, int newDistanceUnits) const
 
virtual void convertAltitudeAndDistance (QwtPlotMarker *, int newAltitudeUnits, int newDistanceUnits) const
 
virtual void deferredReplot (int flag=FullReplot)
 
virtual QwtPlotMarker * addMarker (double x, double y)
 
virtual void setupPointMarkerLabel ()
 
virtual void onTerrainProfileSettingsChanged (const DtTerrainProfileSettingsRecord &)
 
virtual void createSymbolTracker ()
 
virtual void trackEntity (const DtVector &geocentricPosition, DtSimObjectReference)
 
virtual void stopTrackingEntity (makVrv::DtElementID)
 
virtual void clearTrackingSymbols (bool suspended=false)
 
virtual QwtSymbolsymbolFor (DtSimObjectReference) const
 
virtual int linePositionFromLocation (const DtVector &geocentricLocation, QPointF &result, bool trackedItem=false) const
 
virtual int locationFromPlotPosition (const QPointF &result, DtVector &geocentricLocation) const
 
virtual int closestPoint (const DtVector &v, double &range, double &totalRange, bool trackedItem=false) const
 
virtual void timedReplot ()
 
virtual void replotIfTime ()
 
virtual void updateLineVertices (bool replot=true)
 
virtual void resetAltitudeScale (bool replot=true)
 
virtual double elevationAngle (const DtVector &geocentricFrom, const DtVector &geocentricTo) const
 
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

DtRouteMarkerMap myRouteMarkers
 
DtRouteMarkerMap myHiddenRouteMarkers
 
DtRouteMarkerId myNextMarkerId
 
DtRouteMarkerId mySelectedMarkerId
 
unsigned mySelectedVertexIndex
 
std::map< SelectionMarkerId,
QwtPlotMarker * > 
mySelectionMarkers
 
QwtPlotMarker * myVertexSelectionMarker
 
QwtPlotMarker * myCurrentSelectionMarker
 
QPoint myLastCursorPosition
 
- Protected Attributes inherited from makVrf::DtTerrainProfileWidget
makVrv::DtDemyDe
 
DtTerrainProfileDataProvidermyDataProvider
 
makVrv::DtSignalConnectionManager myConnections
 
std::vector< DtVector > myLinePoints
 
std::vector< DtVector > myPlotPoints
 
double mySamplingRate
 
int myMaximumSamplingPoints
 
std::vector< intmySegmentPoints
 
QVector< QPointF > myTerrainProfilePoints
 
std::vector< DtVector > myTerrainDatabasePoints
 
QVector< QPointF > myTerrainLineSamplePoints
 
QVector< QPointF > myTerrainLineDisplayPoints
 
DtReferenceEllipsoid * myReferenceForConversion
 
makVrv::DtDisplayUnitsConverter::DistanceUnits myAltitudeUnits
 
makVrv::DtDisplayUnitsConverter::DistanceUnits myDistanceUnits
 
DtVector myPointMarkerLocation
 
int myPointMarkerSoilType
 
double myPointMarkerDistanceAlongLine
 
double myPointMarkerCurrentHeight
 
QPointF myPointMarkerPosition
 
int myPointMarkerRequestId
 
bool myReady
 
DtSymbolTrackermySymbolTracker
 
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, DtVector > myReceivedTerrainProfileInformationFor
 
Qt::PenStyle myLinePenStyle
 
unsigned myLinePenSize
 
LineSampleStyle myLineSampleDisplay
 
std::set< makVrv::DtUniqueIDmyDisplayOnBehalfOf
 

Additional Inherited Members

- Public Attributes inherited from makVrf::DtTerrainProfileWidget
boost::signals2::signal< void()> signal_ready
 
boost::signals2::signal< void()> signal_dataStatusChanged
 
boost::signals2::signal< void(int)> signal_replotted
 
QwtPlot * myTerrainProfileGraph
 
QVBoxLayout * myMainLayout
 
QwtPlotCurve * myTerrainLine
 
QwtPlotCurve * myTerrainProfile
 
QwtPlotPickermyPlotPicker
 
QLabelmySelectedPointLabel
 
QLabelmySelectedPoint
 

Member Typedef Documentation

typedef std::pair<QwtSymbol::Style, qint64> makVrf::DtRouteProfileWidget::SelectionMarkerId
protected

Constructor & Destructor Documentation

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

Constructor.

virtual makVrf::DtRouteProfileWidget::~DtRouteProfileWidget ( )
overridevirtual

Destructor.

Member Function Documentation

virtual DtVector makVrf::DtRouteProfileWidget::geocentricPositionOfMarker ( DtRouteMarkerId  markerId) const
virtual

Returns the geocentric route position of the given marker.

virtual DtVector makVrf::DtRouteProfileWidget::geocentricPositionOfVertex ( unsigned  vertex) const
virtual

Returns the geocentric route position of the given vertex.

unsigned makVrf::DtRouteProfileWidget::numberOfVertices ( ) const

Returns the number of vertices.

virtual DtRouteMarkerId makVrf::DtRouteProfileWidget::addRouteMarker ( unsigned  afterVertex,
double  fractionToNextVertex,
const QString &  label,
QwtSymbol::Style  symbol 
)
virtual

Adds a route marker and returns its id.

virtual DtRouteMarkerId makVrf::DtRouteProfileWidget::addRouteMarker ( unsigned  afterVertex,
double  fractionToNextVertex,
const QString &  label,
const std::string &  modelDefinition 
)
virtual
virtual void makVrf::DtRouteProfileWidget::removeRouteMarker ( DtRouteMarkerId  markerId)
virtual

Removes the indicated route marker.

virtual bool makVrf::DtRouteProfileWidget::moveRouteMarker ( DtRouteMarkerId  markerId,
unsigned  afterVertex,
double  fractionToNextVertex,
unsigned newAfterVertex = 0,
double newFractionToNextVertex = 0 
)
virtual

Moves the indicated route marker to a new location along the route. Returns true if the move to the given location was possible. If the given location was not valid, returns false and fills in newAfterVertex and newFractionToNextVertex if they were provided.

virtual void makVrf::DtRouteProfileWidget::changeRouteMarkerLabel ( DtRouteMarkerId  markerId,
const QString &  label 
)
virtual

Changes the label of the indicated route marker.

virtual bool makVrf::DtRouteProfileWidget::isMarkerHidden ( DtRouteMarkerId  markerId) const
virtual

Returns true if the marker is hidden.

virtual void makVrf::DtRouteProfileWidget::hideRouteMarker ( DtRouteMarkerId  markerId)
virtual

Hides the indicated route marker.

virtual void makVrf::DtRouteProfileWidget::showRouteMarker ( DtRouteMarkerId  markerId)
virtual

Shows the indicated route marker.

virtual void makVrf::DtRouteProfileWidget::setCursor ( Qt::CursorShape  shape)
virtual

Changes the cursor shape.

virtual void makVrf::DtRouteProfileWidget::selectRouteMarker ( DtRouteMarkerId  markerId)
virtual

Changes the current selection to the route marker with the specified id.

virtual void makVrf::DtRouteProfileWidget::selectVertex ( unsigned  vertexIndex)
virtual

Changes the current selection to the vertex at the specified index.

virtual bool makVrf::DtRouteProfileWidget::closestRouteLocationToLastCursorPosition ( unsigned afterVertex,
double fractionToNextVertex 
)
virtual

Returns the location on the route closest the current cursor position.

virtual bool makVrf::DtRouteProfileWidget::closestRouteLocationToLastDatabasePosition ( const DtVector &  dbLocation,
unsigned afterVertex,
double fractionToNextVertex 
)
virtual

Returns the location on the route closest the current local database location.

virtual void makVrf::DtRouteProfileWidget::closestValidRouteLocation ( unsigned  afterVertex,
double  fractionToNextVertex,
unsigned afterVertexValid,
double fractionToNextVertexValid 
)
virtual

Returns the closest valid route location to the supplied location, or the input values if they were valid.

virtual bool makVrf::DtRouteProfileWidget::invalidMarkerList ( DtRouteMarkerIdSet idSet) const
virtual

Returns a list of markers with invalid locations. Returns true if any invalid markers were found.

void makVrf::DtRouteProfileWidget::vertexClicked ( unsigned  vertexIndex,
unsigned  button 
)
signal

Emits a signal when a vertex is clicked by the user.

void makVrf::DtRouteProfileWidget::routeMarkerClicked ( unsigned  markerId,
unsigned  button 
)
signal

Emits a signal when a route marker is clicked by the user.

void makVrf::DtRouteProfileWidget::routeClicked ( unsigned  afterVertex,
double  fractionToNextVertex,
unsigned  button 
)
signal

Emits a signal when a user left clicks on the plot, indicating the closest point on the route to where they clicked.

virtual QwtPlotMarker* makVrf::DtRouteProfileWidget::createPlotMarker ( unsigned  afterVertex,
double  fractionToNextVertex,
const QString &  label,
DtRouteMarkerId id 
)
protectedvirtual

Creates a new plot marker with the given vertex information.

virtual QPointF makVrf::DtRouteProfileWidget::plotPointFromVertexAndFraction ( unsigned  afterVertex,
double  fractionToNextVertex 
) const
protectedvirtual

Convert a location on the route, specified as a fractional value after a vertex (e.g. 1, 0.75 is 75% of the way between vertex 1 and vertex 2), to a QPointF on the plot.

virtual void makVrf::DtRouteProfileWidget::vertexAndFractionFromPlotX ( double  x,
unsigned afterVertex,
double fractionToNextVertex 
) const
protectedvirtual

Convert an x location from the plot to a location on the route, specified as a fractional value after a vertex (e.g. 1, 0.75 is 75% of the way between vertex 1 and vertex 2).

virtual QwtPlotMarker* makVrf::DtRouteProfileWidget::vertexSelectionMarker ( )
protectedvirtual

Returns the vertex selection marker. Disables all other selection markers.

virtual QwtPlotMarker* makVrf::DtRouteProfileWidget::selectionMarker ( const QwtSymbol symbol)
protectedvirtual

Returns a selection marker for the specified symbol. Disables all other selection markers.

virtual void makVrf::DtRouteProfileWidget::disableSelectionMarkers ( )
protectedvirtual

Disables any active selection markers.

virtual void makVrf::DtRouteProfileWidget::slot_onUnitChanged ( const makVrv::DtUnicode category,
const makVrv::DtUnicode type,
int  to,
int  from 
)
overrideprotectedvirtual

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

Reimplemented from makVrf::DtTerrainProfileWidget.

virtual void makVrf::DtRouteProfileWidget::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Process mouse events.

virtual void makVrf::DtRouteProfileWidget::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Process mouse events.

virtual void makVrf::DtRouteProfileWidget::plotMouseReleased ( const QPointF &  )
overrideprotectedvirtualslot

Called when the mouse is released on the plot area.

Member Data Documentation

const DtRouteMarkerId makVrf::DtRouteProfileWidget::theInvalidMarkerId
static
const unsigned makVrf::DtRouteProfileWidget::theInvalidVertexIndex
static
DtRouteMarkerMap makVrf::DtRouteProfileWidget::myRouteMarkers
protected
DtRouteMarkerMap makVrf::DtRouteProfileWidget::myHiddenRouteMarkers
protected
DtRouteMarkerId makVrf::DtRouteProfileWidget::myNextMarkerId
protected
DtRouteMarkerId makVrf::DtRouteProfileWidget::mySelectedMarkerId
protected
unsigned makVrf::DtRouteProfileWidget::mySelectedVertexIndex
protected
std::map<SelectionMarkerId, QwtPlotMarker*> makVrf::DtRouteProfileWidget::mySelectionMarkers
protected
QwtPlotMarker* makVrf::DtRouteProfileWidget::myVertexSelectionMarker
protected
QwtPlotMarker* makVrf::DtRouteProfileWidget::myCurrentSelectionMarker
protected
QPoint makVrf::DtRouteProfileWidget::myLastCursorPosition
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)