VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
vrvControlToolkit::DtLine2DObject Class Reference

A 2D Line Stealth Draw Control Object. More...

Inheritance diagram for vrvControlToolkit::DtLine2DObject:
Inheritance graph
[legend]

Public Member Functions

 DtLine2DObject (DtExerciseConn *exConn, unsigned id, const DtVdcVector2D &startPosition, const DtVdcVector2D &endPosition, int numSegments=1, DtVdcColor color=DtVdcColor::DtVdcWhite, DtVdcLineSegment::DtVdcSegmentStyle lineStyle=DtVdcLineSegment::DtVdcSegmentStyleStraight, DtVdcLineSegment::DtVdcSegmentArrowStyle arrowStyle=DtVdcLineSegment::DtVdcSegmentArrowStyleNoArrow, unsigned thickness=1, unsigned pattern=0xffffff, bool flashing=false)
 Construct the 2D line Draw Control Object.
virtual ~DtLine2DObject ()
virtual DtVdcVector2D startPosition () const
 startPosition accessor
virtual void setStartPosition (const DtVdcVector2D &startPosition)
 startPosition mutator
virtual DtVdcVector2D endPosition () const
 endPosition accessor
virtual void setEndPosition (const DtVdcVector2D &endPosition)
 endPosition mutator
virtual int numSegments () const
 numSegments accessor
virtual void setNumSegments (int numSegments)
 numSegments mutator
virtual const DtVdcColorcolor (int segment) const
 color accessor
virtual const DtVdcColorcolor () const
virtual void setColor (const DtVdcColor &color, int segment)
 color mutator
virtual void setColor (const DtVdcColor &color)
virtual
DtVdcLineSegment::DtVdcSegmentStyle 
lineStyle (int segment=0) const
 lineStyle accessor
virtual void setLineStyle (DtVdcLineSegment::DtVdcSegmentStyle lineStyle, int segment=0)
 lineStyle mutator
virtual
DtVdcLineSegment::DtVdcSegmentArrowStyle 
arrowStyle (int segment=0) const
 arrowStyle accessor
virtual void setArrowStyle (DtVdcLineSegment::DtVdcSegmentArrowStyle arrowStyle, int segment=0)
 arrowStyle mutator
virtual unsigned pattern (int segment=0) const
 pattern accessor
virtual void setPattern (unsigned pattern, int segment=0)
 pattern mutator
virtual unsigned thickness (int segment=0) const
 thickness accessor
virtual void setThickness (unsigned thickness, int segment=0)
 thickness mutator
virtual double percentage (int segment) const
 percentage accessor
virtual void setPercentage (double percentage, int segment)
 percentage mutator
virtual bool flashing () const
 flashing accessor
virtual void setFlashing (bool flashing)
 flashing mutator
virtual void setRemoteGraphicSet (const std::string &setName)
virtual void update ()
 Send updates to the environmental records to the publisher.
- Public Member Functions inherited from vrvControlToolkit::DtDrawControlObject
 DtDrawControlObject (DtExerciseConn *exConn, unsigned id, const DtString &objName)
 Parameterized constructor.
virtual ~DtDrawControlObject ()
 Virtual destructor.
virtual unsigned id () const
 id accessor
virtual void setId (unsigned id)
 id mutator
virtual const
DtGlobalObjectDesignator
globalId () const
virtual void setVisible (bool yesNo)
virtual bool visible () const

Protected Member Functions

virtual void initRecords ()

Protected Attributes

DtVdcVector2D myStartPosition
DtVdcVector2D myEndPosition
bool myFlashing
std::vector< DtVdcLineSegmentmyLineSegments
DtEnvironmentalLineRecord myLineRecord
Dt3DGraphicalObjectLineStateRecord myLineStateRecord
- Protected Attributes inherited from vrvControlToolkit::DtDrawControlObject
unsigned myId
DtEnvironmentProcessPublishermyPublisher
bool myVisible
DtVdcColor myEmptyColor

Private Member Functions

 DtLine2DObject ()
 Default constructor.

Additional Inherited Members

- Static Public Member Functions inherited from vrvControlToolkit::DtDrawControlObject
static void setPublisherCreator (DtEnvironmentProcessPublisherCreator *creator)
- Static Protected Attributes inherited from vrvControlToolkit::DtDrawControlObject
static
DtEnvironmentProcessPublisherCreator
thePublisherCreator

Detailed Description

A 2D Line Stealth Draw Control Object.

DtLine2DObject represents a line that can be positioned and displayed on the screen. The line may be divided into multiple segments of varying relative lengths. A color, line style, arrow style, pattern and thickness may be specified for each segment; and the line can flash, if desired.

Constructor & Destructor Documentation

vrvControlToolkit::DtLine2DObject::DtLine2DObject ( DtExerciseConn *  exConn,
unsigned  id,
const DtVdcVector2D startPosition,
const DtVdcVector2D endPosition,
int  numSegments = 1,
DtVdcColor  color = DtVdcColor::DtVdcWhite,
DtVdcLineSegment::DtVdcSegmentStyle  lineStyle = DtVdcLineSegment::DtVdcSegmentStyleStraight,
DtVdcLineSegment::DtVdcSegmentArrowStyle  arrowStyle = DtVdcLineSegment::DtVdcSegmentArrowStyleNoArrow,
unsigned  thickness = 1,
unsigned  pattern = 0xffffff,
bool  flashing = false 
)

Construct the 2D line Draw Control Object.

Note that the color and subsequent default parameters are applied to all segments; multi-segmented lines are constructed with all segments being equally proportioned. The segment proportions and individual stylistic elements may all be modified after construction.

Parameters
exConnPassed to DtDrawControlObject base (see)
idPassed to DtDrawControlObject base (see)
startPositionStarting position of the line on the screen - values go from [0.,0.] (left, bottom) to [1.,1.] (right, top)
endPositionEnding position of the line on the screen - values go from [0.,0.] (left, bottom) to [1.,1.] (right, top)
numSegmentsThe number of segments the line should be divided into. Note that this can be changed at any time
colorThe color to apply to all segments constructed
lineStyleA style enumeration from DtVdcLineSegment applied to all segments constructed
arrowStyleAn arrow style enumeration from DtVdcLineSegment applied to all segments constructed
thicknessThe number of pixels thick to draw all segments constructed
patternA stipple pattern used to draw all segments constructed
flashingA boolean parameter indicating whether or not the line should be flashing
virtual vrvControlToolkit::DtLine2DObject::~DtLine2DObject ( )
virtual
vrvControlToolkit::DtLine2DObject::DtLine2DObject ( )
private

Default constructor.

Private and not implemented - you must supply an id and basic geometric parameters to construct the line

Member Function Documentation

virtual DtVdcVector2D vrvControlToolkit::DtLine2DObject::startPosition ( ) const
virtual

startPosition accessor

Get the line's start position

Returns
[0.,0.] (left, bottom) to [1.,1.] (right, top)
virtual void vrvControlToolkit::DtLine2DObject::setStartPosition ( const DtVdcVector2D startPosition)
virtual

startPosition mutator

Set the line's start position

Parameters
startPosition[0.,0.] (left, bottom) to [1.,1.] (right, top)
virtual DtVdcVector2D vrvControlToolkit::DtLine2DObject::endPosition ( ) const
virtual

endPosition accessor

Get the line's end position

Returns
[0.,0.] (left, bottom) to [1.,1.] (right, top)
virtual void vrvControlToolkit::DtLine2DObject::setEndPosition ( const DtVdcVector2D endPosition)
virtual

endPosition mutator

Set the line's end position

Parameters
endPosition[0.,0.] (left, bottom) to [1.,1.] (right, top)
virtual int vrvControlToolkit::DtLine2DObject::numSegments ( ) const
virtual

numSegments accessor

Get the number of segments in this line

Returns
0 to N

Implements vrvControlToolkit::DtLineObjectInterface.

virtual void vrvControlToolkit::DtLine2DObject::setNumSegments ( int  numSegments)
virtual

numSegments mutator

Set the number of individual segments that make up this line

Parameters
numSegments0 to N

Implements vrvControlToolkit::DtLineObjectInterface.

virtual const DtVdcColor& vrvControlToolkit::DtLine2DObject::color ( int  segment) const
virtual

color accessor

Get the color assigned to the indicated segment

Parameters
segmentThe segment to retrieve the color from
Returns
The segment's color
virtual const DtVdcColor& vrvControlToolkit::DtLine2DObject::color ( ) const
virtual
virtual void vrvControlToolkit::DtLine2DObject::setColor ( const DtVdcColor color,
int  segment 
)
virtual

color mutator

Set the color to use when drawing the indicated segment

Parameters
colorThe DtVdcColor to use
segmentThe segment to apply the color to
virtual void vrvControlToolkit::DtLine2DObject::setColor ( const DtVdcColor color)
virtual
virtual DtVdcLineSegment::DtVdcSegmentStyle vrvControlToolkit::DtLine2DObject::lineStyle ( int  segment = 0) const
virtual

lineStyle accessor

Get the lineStyle assigned to the indicated segment

Parameters
segmentThe segment to retrieve the lineStyle from
Returns
A DtVdcLineSegment::DtVdcSegmentStyle indicating the segment's style

Implements vrvControlToolkit::DtLineObjectInterface.

virtual void vrvControlToolkit::DtLine2DObject::setLineStyle ( DtVdcLineSegment::DtVdcSegmentStyle  lineStyle,
int  segment = 0 
)
virtual

lineStyle mutator

Set the lineStyle to use when drawing the indicated segment

Parameters
lineStyleThe lineStyle to use for the indicated segment
segmentThe segment to apply the lineStyle to

Implements vrvControlToolkit::DtLineObjectInterface.

virtual DtVdcLineSegment::DtVdcSegmentArrowStyle vrvControlToolkit::DtLine2DObject::arrowStyle ( int  segment = 0) const
virtual

arrowStyle accessor

Get the arrowStyle assigned to the indicated segment

Parameters
segmentThe segment to retrieve the arrowStyle from
Returns
A DtVdcLineSegment::DtVdcSegmentArrowStyle indicating the segment's arrow style

Implements vrvControlToolkit::DtLineObjectInterface.

virtual void vrvControlToolkit::DtLine2DObject::setArrowStyle ( DtVdcLineSegment::DtVdcSegmentArrowStyle  arrowStyle,
int  segment = 0 
)
virtual

arrowStyle mutator

Set the arrowStyle to use when drawing the indicated segment

Parameters
arrowStyleThe arrowStyle to use for the indicated segment
segmentThe segment to apply the arrowStyle to

Implements vrvControlToolkit::DtLineObjectInterface.

virtual unsigned vrvControlToolkit::DtLine2DObject::pattern ( int  segment = 0) const
virtual

pattern accessor

Get the stipple pattern used when drawing the indicated segment

Parameters
segmentThe segment to retrieve the pattern from
Returns
The stipple pattern, 0x00000000 to 0xFFFFFFFF

Implements vrvControlToolkit::DtLineObjectInterface.

virtual void vrvControlToolkit::DtLine2DObject::setPattern ( unsigned  pattern,
int  segment = 0 
)
virtual

pattern mutator

Set the stipple pattern to use when drawing the indicated segment

Parameters
patternThe stipple pattern, 0x00000000 to 0xFFFFFFFF.
segmentThe segment to apply the pattern to

Implements vrvControlToolkit::DtLineObjectInterface.

virtual unsigned vrvControlToolkit::DtLine2DObject::thickness ( int  segment = 0) const
virtual

thickness accessor

Get the thickness assigned to the indicated segment

Parameters
segmentThe segment to retrieve the thickness from
Returns
The segments's thickness, in pixels (0-255)

Implements vrvControlToolkit::DtLineObjectInterface.

virtual void vrvControlToolkit::DtLine2DObject::setThickness ( unsigned  thickness,
int  segment = 0 
)
virtual

thickness mutator

Set the thickness to use when drawing the indicated segment

Parameters
thicknessThe thickness in pixels, (0-255). Note that GL may not actually be willing or able to draw a line 255 pixels wide. It is implementation dependent.
segmentThe segment to apply the thickness to

Implements vrvControlToolkit::DtLineObjectInterface.

virtual double vrvControlToolkit::DtLine2DObject::percentage ( int  segment) const
virtual

percentage accessor

Get the percentage of the line that the indicated segment occupies

Parameters
segmentThe segment to retrieve the percentage from
Returns
The line's thickness, in pixels (0-255)

Implements vrvControlToolkit::DtLineObjectInterface.

virtual void vrvControlToolkit::DtLine2DObject::setPercentage ( double  percentage,
int  segment 
)
virtual

percentage mutator

Set the percentage of the line that the indicated segment should occupy. Note that it is the responsibility of the user to ensure that the sum of the individual segment's percentages is 1.

Parameters
percentageThe percentage (0. to 1.)
segmentThe segment to apply the precentage to

Implements vrvControlToolkit::DtLineObjectInterface.

virtual bool vrvControlToolkit::DtLine2DObject::flashing ( ) const
virtual

flashing accessor

Get the boolean that indicates whether or not the line should flash

Returns
true or false

Reimplemented from vrvControlToolkit::DtDrawControlObject.

virtual void vrvControlToolkit::DtLine2DObject::setFlashing ( bool  flashing)
virtual

flashing mutator

Set the boolean that indicates whether or not the line should flash

Parameters
flashingtrue or false

Reimplemented from vrvControlToolkit::DtDrawControlObject.

virtual void vrvControlToolkit::DtLine2DObject::setRemoteGraphicSet ( const std::string &  setName)
virtual
virtual void vrvControlToolkit::DtLine2DObject::update ( )
virtual

Send updates to the environmental records to the publisher.

Implements vrvControlToolkit::DtDrawControlObject.

virtual void vrvControlToolkit::DtLine2DObject::initRecords ( )
protectedvirtual

Member Data Documentation

DtVdcVector2D vrvControlToolkit::DtLine2DObject::myStartPosition
protected
DtVdcVector2D vrvControlToolkit::DtLine2DObject::myEndPosition
protected
bool vrvControlToolkit::DtLine2DObject::myFlashing
protected
std::vector<DtVdcLineSegment> vrvControlToolkit::DtLine2DObject::myLineSegments
protected
DtEnvironmentalLineRecord vrvControlToolkit::DtLine2DObject::myLineRecord
protected
Dt3DGraphicalObjectLineStateRecord vrvControlToolkit::DtLine2DObject::myLineStateRecord
protected

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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)