VR-Forces 4.2 Class Documentation
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtTerrainSelector Class Reference

Allow for selection of terrain features. More...

Inheritance diagram for DtTerrainSelector:
Inheritance graph
[legend]

Public Types

enum  DtTerrainSelectionMode { DtAllFeaturesWithinRange, DtAllSegmentsWithinRange, DtAllPolygons }
- Public Types inherited from DtSymbolSelector
enum  DtSelectorType {
  DtNone = 0, DtRectSelector, DtCircleSelector, DtCirclePointsSelector,
  DtCircleInscribedPointsSelector, DtSinglePointSelector, DtMAXSelectorType
}

Public Member Functions

 DtTerrainSelector ()
virtual ~DtTerrainSelector ()
virtual void selectSymbols (DtModelDataIter *iter, Qt::KeyboardModifiers keyState, Qt::MouseButtons mouseState)
 Selects symbols based upon current selector type.
virtual void setTerrainDatabase (const DtTerrainDatabase *db)
 Terrain database access.
virtual const DtTerrainDatabase * terrainDatabase () const
virtual void setTerrainSelectionMode (DtTerrainSelectionMode mode)
virtual DtTerrainSelectionMode terrainSelectionMode () const
virtual void setScreenRange (int iPixels)
 The number of pixels to use as a "hit test" for interest range.
virtual void clear ()
 Clears out internal selected lists.
virtual void select (const DtSpecification &spec, bool merge)
 Selects all features that match the specified specification, clearing all other selected items.
virtual bool selectNode (const DtSpecification &spec, QList< DtNetworkElement * > &segments, QList< DtNetworkSpecElement * > &edges)
 Returns true if any items were selected.
virtual bool selectEdges (const DtSpecification &spec, QList< DtNetworkElement * > &segments, QList< DtNetworkSpecElement * > &edges)
virtual bool selectAllEdges (QList< DtNetworkElement * > &segments, QList< DtNetworkSpecElement * > &edges)
virtual void endSelection (Qt::KeyboardModifiers keyState, Qt::MouseButtons mouseState)
 Ends the selection process.
- Public Member Functions inherited from DtSymbolSelector
 DtSymbolSelector ()
virtual ~DtSymbolSelector ()
virtual void draw (QPainter *dc)
 Draws the rubber band onto the DC.
virtual void setSelectorType (DtSelectorType type)
 Sets current selector type.
virtual DtSelectorType selectorType ()
 Returns current selector type.
virtual QPoint firstEdgeWindowPoint ()
 Returns first edge point (DtCircleSelector), or start point.
virtual QPoint secondEdgeWindowPoint ()
 Returns second edge point (DtCircleSelector), or end point.
virtual DtPoint firstEdgePoint ()
 Returns first edge point (DtCircleSelector), or start point.
virtual DtPoint secondEdgePoint ()
 Returns second edge point (DtCircleSelector), or end point.
virtual bool selectionInProgress ()
 Returns true if startSelection() has been called.
virtual void setViewportExtents (const DtTMViewportExtents *v)
 Sets the viewport extents.
virtual void setViewDriver (DtViewDriver *v)
 Sets the view driver.
virtual QVector< DtModelKey > & selectedModelKeys ()
 Returns list of current symbol data.
virtual void setSelectionMode (int mode)
 Accessors for selection mode.
virtual int selectionMode () const
virtual void highlightNoSymbols ()
virtual void remove (const DtModelKey &key)
 Removes a model key from the selected list.
virtual void setSelectedKeys (const QVector< DtModelKey > &keys)
 Sets the selected keys to the specified list.
virtual void setRightClickMaintainsSelection (bool b)
virtual bool rightClickMaintainsSelection () const

Static Public Member Functions

static DtTerrainSelectorcreate ()

Protected Member Functions

virtual int calculateInterestRange ()
virtual void rectangleSelect (int iInterestRange, const QPoint &start, const QPoint &end, QList< DtNetworkElement * > &list, QList< DtNetworkSpecElement * > &edges)
 Given the interest range and start and end points, select all segments or features within the range.
virtual void pointSelect (int iInterestRange, QList< DtNetworkElement * > &list, QList< DtNetworkSpecElement * > &edges)
 Select a feature or segment at the current end point member variable.
virtual void selectFeaturesByExtent (DtExtent &ext, Qt::KeyboardModifiers keyState, Qt::MouseButtons mouseState)
virtual void extentSelect (int iInteresRange, QList< DtNetworkElement * > &segments, QList< DtNetworkSpecElement * > &edges)
 Selects a series of features or segments bounded by the extent form by the start and end points member variables.
virtual void selectByMode (int iInterestRange, const DtNetworkEdge *edge, QList< DtNetworkElement * > &list, QList< DtNetworkSpecElement * > &edges)
 Selects segments by mode (either one or all)
virtual void collectSegment (int iInterestRange, const DtNetworkEdge *edge, QList< DtNetworkElement * > &list, QList< DtNetworkSpecElement * > &edges)
 Find closest segment to current end point and places the result in the supplied list (if segments are not already present)
virtual void collectAllSegments (int iInterestRange, const DtNetworkEdge *edge, QList< DtNetworkElement * > &list, QList< DtNetworkSpecElement * > &edges)
 Collects all segments associated with the specified edge.
virtual void completeSelection (QList< DtNetworkElement * > &segments, QList< DtNetworkSpecElement * > &edges, Qt::KeyboardModifiers keyState, Qt::MouseButtons mouseState)
virtual bool keepUnknownKeys () const
virtual void highlightSymbols (QVector< DtModelKey > *display=0)
 Highlights any currently selected symbols.
virtual void updateTerrainModelData (QList< DtNetworkElement * > &segments, bool merge)
 Weeds out and create data that is (not) contained in the selected list.
virtual void updateNetworkSpecification (DtNetworkSpecElement *parent, DtNetworkSegment *segment, bool merge)
- Protected Member Functions inherited from DtSymbolSelector
virtual void drawRect (QPainter *paint)
 Draws a rectangle based on selection points.
virtual void drawCircle (QPainter *paint)
 Draws a circle based on selection points.
virtual void drawCirclePoints (QPainter *paint)
 Draws circle points based on selection points.
virtual QPoint getWindowPoint (const DtPoint &p)
 Update window point from database point.
virtual void merge (const QVector< DtModelKey > &keys, QVector< DtModelKey > &result)
 Merge the model keys specified in keys into result by adding new keys and removing keys that are common.

Protected Attributes

QHash< DtModelKey,
DtTerrainModelData * > 
myTerrainModelData
const DtTerrainDatabase * myTerrainDatabase
DtTerrainSelectionMode myTerrainSelectionMode
int myScreenRange
- Protected Attributes inherited from DtSymbolSelector
const DtTMViewportExtentsmyViewportExtents
DtViewDrivermyViewDriver
bool mySelectionInProgress
DtPoint myStartPoint
DtPoint myEndPoint
DtSelectorType mySelectorType
int mySelectionMode
QVector< DtModelKeymySelectedModelKeys
QVector< DtModelKeymyLastSelectedModelKeys
bool myRightClickMaintainsSelection

Private Member Functions

 DtTerrainSelector (const DtTerrainSelector &orig)
 Copy constructor.
DtTerrainSelectoroperator= (const DtTerrainSelector &orig)
 Assignment operator.

Additional Inherited Members

- Public Slots inherited from DtSymbolSelector
virtual void startSelection (const QPoint &pnt)
 Starts the selection process.
virtual void updateLocation (const QPoint &pnt)
 Update selection with latest mouse location.

Detailed Description

Allow for selection of terrain features.

NOTE: Currently only selection mode supported is rectangle selection mode. All others map to rectangle mode

Member Enumeration Documentation

Enumerator:
DtAllFeaturesWithinRange 
DtAllSegmentsWithinRange 
DtAllPolygons 

Constructor & Destructor Documentation

DtTerrainSelector::DtTerrainSelector ( )
virtual DtTerrainSelector::~DtTerrainSelector ( )
virtual
DtTerrainSelector::DtTerrainSelector ( const DtTerrainSelector orig)
private

Copy constructor.

Member Function Documentation

static DtTerrainSelector* DtTerrainSelector::create ( )
static
DtTerrainSelector& DtTerrainSelector::operator= ( const DtTerrainSelector orig)
private

Assignment operator.

virtual void DtTerrainSelector::selectSymbols ( DtModelDataIter iter,
Qt::KeyboardModifiers  keyState,
Qt::MouseButtons  mouseState 
)
virtual

Selects symbols based upon current selector type.

Implements DtSymbolSelector.

virtual void DtTerrainSelector::setTerrainDatabase ( const DtTerrainDatabase *  db)
virtual

Terrain database access.

virtual const DtTerrainDatabase* DtTerrainSelector::terrainDatabase ( ) const
virtual
virtual void DtTerrainSelector::setTerrainSelectionMode ( DtTerrainSelectionMode  mode)
virtual
virtual DtTerrainSelectionMode DtTerrainSelector::terrainSelectionMode ( ) const
virtual
virtual void DtTerrainSelector::setScreenRange ( int  iPixels)
virtual

The number of pixels to use as a "hit test" for interest range.

virtual void DtTerrainSelector::clear ( )
virtual

Clears out internal selected lists.

Reimplemented from DtSymbolSelector.

virtual void DtTerrainSelector::select ( const DtSpecification &  spec,
bool  merge 
)
virtual

Selects all features that match the specified specification, clearing all other selected items.

If merge is true, merges into current selection

virtual bool DtTerrainSelector::selectNode ( const DtSpecification &  spec,
QList< DtNetworkElement * > &  segments,
QList< DtNetworkSpecElement * > &  edges 
)
virtual

Returns true if any items were selected.

virtual bool DtTerrainSelector::selectEdges ( const DtSpecification &  spec,
QList< DtNetworkElement * > &  segments,
QList< DtNetworkSpecElement * > &  edges 
)
virtual
virtual bool DtTerrainSelector::selectAllEdges ( QList< DtNetworkElement * > &  segments,
QList< DtNetworkSpecElement * > &  edges 
)
virtual
virtual void DtTerrainSelector::endSelection ( Qt::KeyboardModifiers  keyState,
Qt::MouseButtons  mouseState 
)
virtual

Ends the selection process.

Reimplemented from DtSymbolSelector.

virtual int DtTerrainSelector::calculateInterestRange ( )
protectedvirtual
virtual void DtTerrainSelector::rectangleSelect ( int  iInterestRange,
const QPoint &  start,
const QPoint &  end,
QList< DtNetworkElement * > &  list,
QList< DtNetworkSpecElement * > &  edges 
)
protectedvirtual

Given the interest range and start and end points, select all segments or features within the range.

virtual void DtTerrainSelector::pointSelect ( int  iInterestRange,
QList< DtNetworkElement * > &  list,
QList< DtNetworkSpecElement * > &  edges 
)
protectedvirtual

Select a feature or segment at the current end point member variable.

virtual void DtTerrainSelector::selectFeaturesByExtent ( DtExtent &  ext,
Qt::KeyboardModifiers  keyState,
Qt::MouseButtons  mouseState 
)
protectedvirtual
virtual void DtTerrainSelector::extentSelect ( int  iInteresRange,
QList< DtNetworkElement * > &  segments,
QList< DtNetworkSpecElement * > &  edges 
)
protectedvirtual

Selects a series of features or segments bounded by the extent form by the start and end points member variables.

virtual void DtTerrainSelector::selectByMode ( int  iInterestRange,
const DtNetworkEdge *  edge,
QList< DtNetworkElement * > &  list,
QList< DtNetworkSpecElement * > &  edges 
)
protectedvirtual

Selects segments by mode (either one or all)

virtual void DtTerrainSelector::collectSegment ( int  iInterestRange,
const DtNetworkEdge *  edge,
QList< DtNetworkElement * > &  list,
QList< DtNetworkSpecElement * > &  edges 
)
protectedvirtual

Find closest segment to current end point and places the result in the supplied list (if segments are not already present)

virtual void DtTerrainSelector::collectAllSegments ( int  iInterestRange,
const DtNetworkEdge *  edge,
QList< DtNetworkElement * > &  list,
QList< DtNetworkSpecElement * > &  edges 
)
protectedvirtual

Collects all segments associated with the specified edge.

virtual void DtTerrainSelector::completeSelection ( QList< DtNetworkElement * > &  segments,
QList< DtNetworkSpecElement * > &  edges,
Qt::KeyboardModifiers  keyState,
Qt::MouseButtons  mouseState 
)
protectedvirtual
bool DtTerrainSelector::keepUnknownKeys ( ) const
inlineprotectedvirtual

Reimplemented from DtSymbolSelector.

virtual void DtTerrainSelector::highlightSymbols ( QVector< DtModelKey > *  display = 0)
protectedvirtual

Highlights any currently selected symbols.

Implements DtSymbolSelector.

virtual void DtTerrainSelector::updateTerrainModelData ( QList< DtNetworkElement * > &  segments,
bool  merge 
)
protectedvirtual

Weeds out and create data that is (not) contained in the selected list.

If merge is true, will merge the current selection in with the existing as if a Ctrl or Shift keyboard button were pressed

virtual void DtTerrainSelector::updateNetworkSpecification ( DtNetworkSpecElement *  parent,
DtNetworkSegment *  segment,
bool  merge 
)
protectedvirtual

Member Data Documentation

QHash<DtModelKey, DtTerrainModelData*> DtTerrainSelector::myTerrainModelData
protected
const DtTerrainDatabase* DtTerrainSelector::myTerrainDatabase
protected
DtTerrainSelectionMode DtTerrainSelector::myTerrainSelectionMode
protected
int DtTerrainSelector::myScreenRange
protected

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

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)