VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Attributes
makVrv::DtHeadingTape Class Reference

A class for creating a heading tape on screen using DtWindowObjects. More...

Public Member Functions

 DtHeadingTape (DtDe &de, DtObserver &observer)
 CTOR. More...
 
virtual ~DtHeadingTape ()
 Virtual DTOR. More...
 
virtual void init ()
 Initialise the heading tape by creating a DtWindowSurface, the lines for each heading increment, DtWindowText's to display the heading number It creates two tapes, a 0-180 tape, and 180-360 tape. More...
 
virtual void tick ()
 Update the heading tape. More...
 

Protected Types

typedef std::vector
< DtWindowObjectAgent * > 
DtWindowObjects
 typedef vector for holding DtWindowObjectAgents More...
 

Protected Attributes

DtDemyDe
 DtDe reference. More...
 
DtObservermyObserver
 Current Observer refernece. More...
 
DtWindowObjects myWindowAgents
 Vector of the window agents. More...
 
DtWindowObjectAgent * myHeadingTapeLowObject
 Root object to control the 0-180 heading tape. More...
 
DtWindowObjectAgent * myheadingTapeHighObject
 Root object to control the 180-360(0) heading tape. More...
 
DtWindowSurfaceAgent * mySurface
 Surface that clips the heading tape. More...
 

Detailed Description

A class for creating a heading tape on screen using DtWindowObjects.

The heading tape displays the heading of the current observer view. When the observer yaw's right or left, the heading tape is translated across displaying the current heading in degrees; there is an arrow pointed at the tape to denote the current heading. Each line represents 5 degrees. Every 10 degrees there is a number displayed using DtWindowTexts. This number ranges from 1 ( denoting 10 degrees) to 36 (denoting 360 degrees). This class creates a DtWindowSurface on screen, at the the location (0.5,0.85), this surface is used to place the DtWindowLines that represent each 5 degree increment in object space of the surface. The surface has an associated clip box that will automatically clip child window objects that go outside of the box. The clip box is made from two 2D coordinates, a minXY and maxXY, these are set to ( 0.4, 0.805 ),( 0.6, 0.95 ) in screen space. The heading tape can be created through the init() method. The tick() method updates the heading tape based upon the current orientation of the observer. The heading tapes are spilt into two root objects so we do not need an endless tape, 0->180 and 180 -> 350 degrees. Imagine we are flying in a circle, or rotating in a hover, when the tape comes back around to 00 we slot the 0->180 tape onto the end of 180->360.

Member Typedef Documentation

typedef std::vector<DtWindowObjectAgent*> makVrv::DtHeadingTape::DtWindowObjects
protected

typedef vector for holding DtWindowObjectAgents

Constructor & Destructor Documentation

makVrv::DtHeadingTape::DtHeadingTape ( DtDe de,
DtObserver observer 
)

CTOR.

virtual makVrv::DtHeadingTape::~DtHeadingTape ( )
virtual

Virtual DTOR.

Member Function Documentation

virtual void makVrv::DtHeadingTape::init ( )
virtual

Initialise the heading tape by creating a DtWindowSurface, the lines for each heading increment, DtWindowText's to display the heading number It creates two tapes, a 0-180 tape, and 180-360 tape.

DtWindowObjects can be used in a parent child relationship, each line created is offset and atteched to a root object - myHeadingTapeLowObject or myheadingTapeHighObject This allows one root object to be manipulated which in turn effects all the children.

virtual void makVrv::DtHeadingTape::tick ( )
virtual

Update the heading tape.

Member Data Documentation

DtDe& makVrv::DtHeadingTape::myDe
protected

DtDe reference.

DtObserver& makVrv::DtHeadingTape::myObserver
protected

Current Observer refernece.

DtWindowObjects makVrv::DtHeadingTape::myWindowAgents
protected

Vector of the window agents.

DtWindowObjectAgent* makVrv::DtHeadingTape::myHeadingTapeLowObject
protected

Root object to control the 0-180 heading tape.

DtWindowObjectAgent* makVrv::DtHeadingTape::myheadingTapeHighObject
protected

Root object to control the 180-360(0) heading tape.

DtWindowSurfaceAgent* makVrv::DtHeadingTape::mySurface
protected

Surface that clips the heading tape.


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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)