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

A traffic control device for intersection flow, ie stop and yield signs, traffic lights, etc. More...

Public Types

enum  DtTrafficControlIndication {
  DtIndicationNone, DtIndicationYield, DtIndicationStop, DtIndicationGreenArrow,
  DtIndicationGreen, DtIndicationBlinkingYellow, DtIndicationYellow, DtIndicationBlinkingRed,
  DtIndicationRed
}

Public Member Functions

 DtTrafficControlDevice ()
virtual ~DtTrafficControlDevice ()
 DtTrafficControlDevice (const DtTrafficControlDevice &orig)
DtTrafficControlDeviceoperator= (const DtTrafficControlDevice &orig)
virtual DtTrafficControlDeviceclone ()
virtual DtTrafficControlIndication currentIndication () const
 Return the traffic control indication–but if the TCD is not static, the current indication in the traffic light object is returned.
virtual DtString indicationString (DtTrafficControlIndication ind) const
virtual void setCurrentIndication (const DtTrafficControlIndication signal)
 The set function sets the indication member variable, but if the TCD is not static the current indication will come from the traffic light anyway.
virtual double positionAlongLane () const
 The position along the lane where this traffic control device takes effect.
virtual void setPositionAlongLane (const double p)
virtual bool hasRedIndication (DtAppearance *app) const
virtual bool hasYellowIndication (DtAppearance *app) const
virtual bool hasGreenIndication (DtAppearance *app) const
virtual bool isStatic () const
 Access to the isStatic member variable.
virtual void setIsStatic (const bool isStatic)
virtual DtVrfObjecttrafficLightObject ()
 Access for the traffic light object:
virtual void setTrafficLightObject (DtVrfObject *trafficLight)

Protected Attributes

bool myIsStatic
 True for fixed indications–none, Stop, Yield, blinkers.
DtTrafficControlIndication myTrafficControlIndication
DtVrfObjectmyTrafficLight
 If and only if the TCD is not static, then consult this for indication:
double myPositionAlongLane

Detailed Description

A traffic control device for intersection flow, ie stop and yield signs, traffic lights, etc.

Used for DtLaneSegment in DtRoadSegment.

Member Enumeration Documentation

Enumerator:
DtIndicationNone 
DtIndicationYield 
DtIndicationStop 
DtIndicationGreenArrow 
DtIndicationGreen 
DtIndicationBlinkingYellow 
DtIndicationYellow 
DtIndicationBlinkingRed 
DtIndicationRed 

Constructor & Destructor Documentation

DtTrafficControlDevice::DtTrafficControlDevice ( )
virtual DtTrafficControlDevice::~DtTrafficControlDevice ( )
virtual
DtTrafficControlDevice::DtTrafficControlDevice ( const DtTrafficControlDevice orig)

Member Function Documentation

DtTrafficControlDevice& DtTrafficControlDevice::operator= ( const DtTrafficControlDevice orig)
virtual DtTrafficControlDevice* DtTrafficControlDevice::clone ( )
virtual
virtual DtTrafficControlIndication DtTrafficControlDevice::currentIndication ( ) const
virtual

Return the traffic control indication–but if the TCD is not static, the current indication in the traffic light object is returned.

virtual DtString DtTrafficControlDevice::indicationString ( DtTrafficControlIndication  ind) const
virtual
virtual void DtTrafficControlDevice::setCurrentIndication ( const DtTrafficControlIndication  signal)
virtual

The set function sets the indication member variable, but if the TCD is not static the current indication will come from the traffic light anyway.

virtual bool DtTrafficControlDevice::isStatic ( ) const
virtual

Access to the isStatic member variable.

virtual void DtTrafficControlDevice::setIsStatic ( const bool  isStatic)
virtual
virtual DtVrfObject* DtTrafficControlDevice::trafficLightObject ( )
virtual

Access for the traffic light object:

virtual void DtTrafficControlDevice::setTrafficLightObject ( DtVrfObject trafficLight)
virtual
virtual double DtTrafficControlDevice::positionAlongLane ( ) const
virtual

The position along the lane where this traffic control device takes effect.

Generally this will be at a stop line, not at the signal/sign.

virtual void DtTrafficControlDevice::setPositionAlongLane ( const double  p)
virtual
virtual bool DtTrafficControlDevice::hasRedIndication ( DtAppearance *  app) const
inlinevirtual
virtual bool DtTrafficControlDevice::hasYellowIndication ( DtAppearance *  app) const
inlinevirtual
virtual bool DtTrafficControlDevice::hasGreenIndication ( DtAppearance *  app) const
inlinevirtual

Member Data Documentation

bool DtTrafficControlDevice::myIsStatic
protected

True for fixed indications–none, Stop, Yield, blinkers.

DtTrafficControlIndication DtTrafficControlDevice::myTrafficControlIndication
protected
DtVrfObject* DtTrafficControlDevice::myTrafficLight
protected

If and only if the TCD is not static, then consult this for indication:

double DtTrafficControlDevice::myPositionAlongLane
protected

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

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)