VR-Forces 4.0.4 Class Documentation
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]

List of all members.

Public Types

enum  DtTerrainSelectionMode { DtAllFeaturesWithinRange, DtAllSegmentsWithinRange, DtAllPolygons }

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 DtTerrainDatabaseterrainDatabase () 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.

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 Attributes

QHash< DtModelKey,
DtTerrainModelData * > 
myTerrainModelData
const DtTerrainDatabasemyTerrainDatabase
DtTerrainSelectionMode myTerrainSelectionMode
int myScreenRange

Private Member Functions

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

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

Copy constructor.


Member Function Documentation

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::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 ( ) [protected, virtual]
virtual void DtTerrainSelector::rectangleSelect ( int  iInterestRange,
const QPoint &  start,
const QPoint &  end,
QList< DtNetworkElement * > &  list,
QList< DtNetworkSpecElement * > &  edges 
) [protected, virtual]

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 
) [protected, virtual]

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

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

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 
) [protected, virtual]

Selects segments by mode (either one or all)

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

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 
) [protected, virtual]

Collects all segments associated with the specified edge.

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

Reimplemented from DtSymbolSelector.

virtual void DtTerrainSelector::highlightSymbols ( QVector< DtModelKey > *  display = 0) [protected, virtual]

Highlights any currently selected symbols.

Implements DtSymbolSelector.

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

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 
) [protected, virtual]

Member Data Documentation


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)