![]() |
VR-Forces Developer's Guide
|
DtRunwaySelector objects create a selectable runway that outlines a paged-in runway and an associated label with the runway name. A runway selector is created for a physical runway (which typically is used for 2 logical runways in opposite directions. Note that this is NOT a distributed object. Selectors are created independently on master and slave display engines as runway data is paged in. Therefore any code that wishes to use the runway selector APIs to modify then will need to run on both master and remote display engines.

Public Member Functions | |
| DtRunwaySelector (DtDe &de, DtUniqueID id) | |
| virtual | ~DtRunwaySelector () |
| DtRunwaySelector ()=delete | |
| DtRunwaySelector (const DtRunwaySelector &)=delete | |
| DtRunwaySelector & | operator= (const DtRunwaySelector &)=delete |
| virtual void | initialize (const DtRunwayData &runwayData) |
| virtual void | updateGeometry (const DtRunwayData &runwayData) |
| virtual void | setSelectState (bool selected) |
| virtual void | setRunwayCondition (DtRunwayCondition condition) |
| virtual DtRunwayCondition | runwayCondition () const |
| virtual void | setRunwayIsDamaged (bool damaged) |
| virtual bool | runwayIsDamaged () const |
| virtual void | setRunway1HasArrestorsUp (bool arrestorsUp) |
| virtual bool | runway1HasArrestorsUp () const |
| virtual void | setRunway2HasArrestorsUp (bool arrestorsUp) |
| virtual bool | runway2HasArrestorsUp () const |
| virtual void | setRunway1Active (bool isActive) |
| virtual bool | runway1Active () const |
| virtual void | setRunway2Active (bool isActive) |
| virtual bool | runway2Active () const |
| virtual bool | enabled () const |
| virtual void | setEnabled (bool onOrOff) |
| virtual const std::string & | runwayName () const |
| virtual const std::string & | airportCode () const |
| virtual void | setColor (float r, float g, float b, float a) |
| virtual void | getColor (float &r, float &g, float &b, float &a) |
| virtual void | setSelectedColor (float r, float g, float b, float a) |
| virtual void | getSelectedColor (float &r, float &g, float &b, float &a) |
| virtual void | setLabelPosition (const DtVector &position) |
| virtual const DtVector & | labelPosition () const |
| virtual void | setLabelOffsetScale (float scale) |
| virtual float | labelOffsetScale () const |
| virtual void | setLogicalRunway1Key (const std::string &key1) |
| virtual const std::string & | logicalRunway1Key () const |
| virtual void | setLogicalRunway2Key (const std::string &key2) |
| virtual const std::string & | logicalRunway2Key () const |
| virtual void | setLabelModelDefinitionName (const std::string &modelDefName) |
| virtual const std::string & | labelModelDefinitionName () const |
| virtual void | setSelectorModelDefinitionName (const std::string &modelDefName) |
| virtual const std::string & | selectorModelDefinitionName () const |
| virtual void | setRectangleOrderGroup (unsigned int group) |
| virtual unsigned int | rectangleOrderGroup () const |
| virtual void | setLabelOrderGroup (unsigned int group) |
| virtual unsigned int | labelOrderGroup () const |
Public Member Functions inherited from makVrv::DtSceneObject | |
| DtSceneObject (DtDe &de, DtUniqueID id) | |
| virtual | ~DtSceneObject () |
| void | addModel (DtModel *model, int visualizerType) |
| void | removeModel (DtModel *model) |
| void | removeModels () |
| void | setPosition (int vtx, const DtVector &position) |
| void | addPosition (int vtx, const DtVector &position) |
| void | getPosition (int vtx, DtVector &position) const |
| void | setOffset (const DtVector &offset) |
| void | getOffset (DtVector &offset) const |
| void | setOrientation (int vtx, const DtTaitBryan &orientation) |
| void | setPositionAndOrientation (int vtx, const DtVector &position, const DtTaitBryan &orientation) |
| void | setTopographicOrientation (int vtx, const DtTaitBryan &topoOrientation) |
| void | getOrientation (int vtx, DtTaitBryan &orientation) const |
| void | getTopographicOrientation (int vtx, DtTaitBryan &orientation) const |
| DtTaitBryan | getTopographicOrientation (const DtVector &geocLocation, const DtTaitBryan &geocOrientation) const |
| void | getOrientation (int vtx, DtQuat &orientation) const |
| virtual void | transformToSceneObjectCoord (const DtVector &dbCoord, DtVector &soCoord) const |
| virtual void | transformToDatabaseCoord (const DtVector &soCoord, DtVector &dbCoord) const |
| void | setColor (float r, float g, float b, float a) |
| void | setModelSet (DtModelSetId modelSet) |
| DtModelSetId | modelSet () const |
| void | setIsProp (bool isProp) |
| bool | isProp () const |
| void | setIsSupportObject (bool b) |
| bool | isSupportObject () |
| void | setSolid (bool b) |
| bool | isSolid () const |
| DtElementID | elementID () const |
| void | setElementID (DtElementID elementID) |
| DtUniqueID | uniqueId () const |
| const ModelList & | models () const |
| ModelList & | models () |
| const TransformList & | transforms () const |
| virtual void | removePosition (int) |
| void | setBoundingBoxSize (double minX, double maxX, double minY, double maxY, double minZ, double maxZ) |
| const DtVector & | boundingBoxExtents () const |
| void | getBoundingBoxExtents (double &x, double &y, double &z) const |
| const DtVector & | boundingBoxCenter () const |
| void | getBoundingBoxCenter (double &x, double &y, double &z) const |
| double | boundingRadius () const |
| void | setVisible (bool visible) |
| bool | isVisible () const |
| virtual void | setBeingObserved (bool observed) |
| virtual bool | beingObserved () const |
| void | setUpdater (DtSceneObjectUpdater *updater) |
| DtSceneObjectUpdater * | findUpdater () |
| const DtSceneObjectUpdater * | findUpdater () const |
| virtual float | getAndResetMinModelDistance () |
Static Public Member Functions | |
| static void | getDirectionArrow (const std::string &runwayName, std::string &result) |
Static Public Member Functions inherited from makVrv::DtSceneObject | |
| static void | modelCoordToSceneObjectCoord (const DtVector &modelCoord, DtVector &soCoord) |
Protected Member Functions | |
| virtual std::string | generatePhysicalRunwayName (const DtRunwayData &runwayData) const |
| virtual void | formatActiveStatusString (std::string &str) const |
| virtual void | formatArrestorStatusString (std::string &str) const |
| virtual void | formatDamagedStatusString (std::string &str) const |
| virtual void | formatConditionStatusString (std::string &str) const |
| virtual void | formatRunwayState (std::string &status) const |
| virtual DtWidgetLabel * | createWidgetLabel ()=0 |
| virtual void | initializeWidgetLabel () |
| virtual DtOverlayRectangleModel * | createRectangleModel (const DtRunwayData &runwayData)=0 |
| virtual void | initializeRectangleModel (const DtRunwayData &runwayData) |
| virtual DtVector | calculateLabelPosition () const |
| virtual void | createModels (const DtRunwayData &runwayData) |
| virtual void | destroyModels () |
| virtual void | registerSelector () |
| virtual void | deregisterSelector () |
| virtual void | slot_selectionChanged (const DtSelectionManager::IdSet &selected, const DtSelectionManager::IdSet &deselected) |
Protected Member Functions inherited from makVrv::DtSceneObject | |
| void | initializeModel (DtModel *modelInstanceOwner) |
| void | modelChanged (DtModel *model) |
| bool | modelVisibilityRequested (DtModel *model, bool visible) |
| void | resetModelTransforms () |
| void | updateBoundingBoxViaContents () |
| void | calculateBoundingRadius () |
| virtual void | addModelConnections (DtModel *model) |
| virtual void | removeModelConnections (DtModel *model) |
Static Protected Member Functions | |
| static void | readArray4 (const std::string ¶mName, const DtModelDefinition &definition, float result[4]) |
Additional Inherited Members | |
Public Types inherited from makVrv::DtSceneObject | |
| typedef std::vector < ObjectTransform > | TransformList |
| typedef std::vector< ModelRecord > | ModelList |
Public Attributes inherited from makVrv::DtSceneObject | |
| boost::signalslib::signal < void(DtModel *)> | signal_modelAdded |
| boost::signalslib::signal < void(DtModel *)> | signal_modelRemoved |
| boost::signalslib::signal < void(const DtUniqueID &) > | signal_sceneObjectToBeDeleted |
| boost::signalslib::signal < void(DtSceneObject *)> | signal_boundingVolumeChanged |
Protected Types inherited from makVrv::DtSceneObject | |
| typedef std::pair< DtModel *, ModelConnections > | ModelConnectionsPair |
| typedef boost::unordered_map < DtModel *, ModelConnections > | ModelConnectionsMap |
| makVrv::DtRunwaySelector::DtRunwaySelector | ( | DtDe & | de, |
| DtUniqueID | id | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
delete |
No default constructor allowed.
|
delete |
Not copyable.
|
delete |
Not assignable.
|
virtual |
Initialize a newly allocated DtRunwaySelector. This will create the rectangle and text label objects and provide initial values based on the runway data.
|
virtual |
updateGeometry is called by initialize, but is also called for initialized selectors when additional data is paged in. Note that each physical runway gets typically two logical runways - each of which is paged in separately, but with some differences as well.
|
virtual |
Set the select state of the runway selector.
|
virtual |
Set the condition of the runway this selector represents.
|
virtual |
Get the condition of the runway this selector represents.
|
virtual |
Set whether the runway this selector represents is damaged.
|
virtual |
Get whether the runway this selector represents is damaged.
|
virtual |
Set whether logical runway 1 of the physical runway this selector represents has arrestor gear up.
|
virtual |
Get whether logical runway 1 of the physical runway this selector represents has arrestor gear up.
|
virtual |
Get whether logical runway 2 of the physical runway this selector represents has arrestor gear up.
|
virtual |
Get whether logical runway 2 of the physical runway this selector represents has arrestor gear up.
|
virtual |
Set whether logical runway 1 of the physical runway this selector represents is active.
|
virtual |
Get whether logical runway 1 of the physical runway this selector represents is active.
|
virtual |
Set whether logical runway 2 of the physical runway this selector represents is active.
|
virtual |
Get whether logical runway 2 of the physical runway this selector represents is active.
|
virtual |
Check to see if a runway selector is enabled. If disabled then then the associated objects are do not exist.
|
virtual |
Set the enabled state of a runway. Disabling an enabled runway will destroy the assoicated runway rectangle and label. Enabling a previously disabled runway will re-create those objects, provided it was previously initialized.
Reimplemented in makVrv::DtOsgRunwaySelector.
|
virtual |
Set/get the color of the runway selector rectangle when unselected.
|
virtual |
Set/get the color of the runway selector rectangle when unselected.
|
virtual |
Set/get the color of the runway selector rectangle when selected.
|
virtual |
Set/get the color of the runway selector rectangle when selected.
|
virtual |
Set/get the current position (in geocentric coordinates) of the selector's label. Note that the position is normally calculated based on the runway geometry and the labelOffsetScale. A call to updateGeometry() will reset the position.
|
virtual |
Set/get the current position (in geocentric coordinates) of the selector's label. Note that the position is normally calculated based on the runway geometry and the labelOffsetScale. A call to updateGeometry() will reset the position.
|
virtual |
Set/get a label offsect scale factor. The label is positioned a location between the center of the runway and the runway threshold (inclusive). A scale factor from -1 to +1 moves the label from one end of the runway to the other.
|
virtual |
Set/get a label offsect scale factor. The label is positioned a location between the center of the runway and the runway threshold (inclusive). A scale factor from -1 to +1 moves the label from one end of the runway to the other.
|
virtual |
Set/get the DtRunwayMarkingManager's key to logical runway 1 The set is called by the DtRunwayMarkingManager when it processes that runway. The key can be used to look up the runway data stored in the DtRunwayMarkingManager for that logical runway using its runwayData() accessor.
|
virtual |
Set/get the DtRunwayMarkingManager's key to logical runway 1 The set is called by the DtRunwayMarkingManager when it processes that runway. The key can be used to look up the runway data stored in the DtRunwayMarkingManager for that logical runway using its runwayData() accessor.
|
virtual |
Set/get the DtRunwayMarkingManager's key to logical runway 2 (if it exists). The set is called by the DtRunwayMarkingManager when it processes that runway. The key can be used to look up the runway data stored in the DtRunwayMarkingManager.
|
virtual |
Set/get the DtRunwayMarkingManager's key to logical runway 2 (if it exists). The set is called by the DtRunwayMarkingManager when it processes that runway. The key can be used to look up the runway data stored in the DtRunwayMarkingManager.
|
virtual |
Set/get the model definition that is provided the the DtWidgetLabel used to implement the runway label. If the selector is enabled/initialized this model definition will be forwarded to the widget label.
|
virtual |
Set/get the model definition that is provided the the DtWidgetLabel used to implement the runway label. If the selector is enabled/initialized this model definition will be forwarded to the widget label.
|
virtual |
Set/get the model definition used to configure the non-label-specific. Note that if the "enabled" parameter is present, setEnabled() will be called, enabling or disabling the selector, based on its current state.
|
virtual |
Set/get the model definition used to configure the non-label-specific. Note that if the "enabled" parameter is present, setEnabled() will be called, enabling or disabling the selector, based on its current state.
Set/get the order group used to order rendering of the rectangle object.
Set/get the order group used to order rendering of the rectangle object.
Set/get the order group used to order rendering of the label object.
Set/get the order group used to order rendering of the label object.
|
virtual |
Get the physical runway name generated fod this runway. This is the value that will appear in the label.
|
virtual |
Get the airport code this runway is part of.
|
static |
Given a runway name, returns a string which is either " -->" (if the runway name starts with a number between 0 and 18) or " <--" for numbers 19-36.
|
protectedvirtual |
Generate the physical runway name used as a part of the runway label. It consists of the ICAO airport code plus the 2 logical runway names (separated by a hyphen). Called by generateSelectorLabel.
|
protectedvirtual |
If there is active status info to be displayed, put it into the provided std::string.
|
protectedvirtual |
If there is arrestor status info to be displayed, put it into the provided std::string.
|
protectedvirtual |
If there is damaged status info to be displayed, put it into the provided std::string.
|
protectedvirtual |
If there is runway condition status info to be displayed, put it into the provided std::string.
|
protectedvirtual |
Generate the state portion of the runway label using the physical runway name plus whatever status info needs to be added.
|
protectedpure virtual |
Create the widget label to use. Currently overridden by DtOsgRunwaySelector to create a DtOsgWidgetLabel.
Implemented in makVrv::DtOsgRunwaySelector.
|
protectedvirtual |
Initialize a newly created widget model with either the specified model definition or defaults; as well as label-specific parameters as provided in the selector model definition.
|
protectedpure virtual |
Create the overlay rectangle model to use. Currently overridden by DtOsgRunwaySelector to create a DtOsgOverlayRunwayModel.
Implemented in makVrv::DtOsgRunwaySelector.
|
protectedvirtual |
Initialize a newly created rectangle model with values from the selector model definition or defaults.
|
protectedvirtual |
Calculate the position of the label based on the runway center, threshold location, and offset scale Note that this only uses geocentric coordinates, since paged aerodromes are currently only supported for geocentric.
|
protectedvirtual |
Method called by initialize() to create and initialize the individual models and widgel label.
|
protectedvirtual |
Destroy the models and widget label. Called by the destructor or when an enabled and initialized selector is disabled.
|
protectedvirtual |
Register the selector element id with the DtDataBank::ElementData so it can be selected.
|
protectedvirtual |
Remove the selector element id from the DtDataBank::ElementData.
|
protectedvirtual |
Method connected to the DtSelectionManager's signal_currentSelectionChanged. If the indicated selected or deselected object is this selector, setSelectorState is called.
|
staticprotected |
Utility method to read a list of 4 common-separated floats into a float array[4] (currently used for color values)
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |