![]() |
VR-Forces Development_Version Class Documentation
|
A 3D Line Stealth Draw Control Object. More...

Public Member Functions | |
| DtLine3DObject (DtExerciseConn *exConn, unsigned id, const DtVdc3DAttachPoint &startAttachment, const DtVdc3DAttachPoint &endAttachment, int numSegments=1, const DtVector &offset=DtVector::zero(), DtVdcColor color=DtVdcColor::DtVdcWhite, DtVdcLineSegment::DtVdcSegmentStyle lineStyle=DtVdcLineSegment::DtVdcSegmentStyleStraight, DtVdcLineSegment::DtVdcSegmentArrowStyle arrowStyle=DtVdcLineSegment::DtVdcSegmentArrowStyleNoArrow, unsigned thickness=1, unsigned pattern=0xffffff, bool flashing=false, bool checkLos=false, bool projected=false) | |
| Construct the Line Draw Control Object. | |
| virtual | ~DtLine3DObject () |
| virtual const DtVdc3DAttachPoint & | startAttachment () const |
| startAttachment accessor | |
| virtual void | setStartAttachment (const DtVdc3DAttachPoint &startAttachment) |
| startAttachment mutator | |
| virtual const DtVdc3DAttachPoint & | endAttachment () const |
| endAttachment accessor | |
| virtual void | setEndAttachment (const DtVdc3DAttachPoint &endAttachment) |
| endAttachment mutator | |
| virtual const DtVector32 & | offset () const |
| offset accessor | |
| virtual void | setOffset (const DtVector32 &off) |
| offset mutator | |
| virtual int | numSegments () const |
| numSegments accessor | |
| virtual void | setNumSegments (int numSegments) |
| numSegments mutator | |
| virtual const DtVdcColor & | color (int segment) const |
| color accessor | |
| virtual const DtVdcColor & | color () 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 bool | checkLos () const |
| checkLos accessor | |
| virtual void | setCheckLos (bool checkLos) |
| checkLos mutator | |
| virtual bool | projected () const |
| projected accessor | |
| virtual void | setProjected (bool projected) |
| projected mutator | |
| virtual void | setRemoteGraphicSet (const std::string &setName) |
| virtual void | update () |
| update the internal pdu | |
Public Member Functions inherited from vrvControlToolkit::Dt3DTwoPositionedObject | |
| Dt3DTwoPositionedObject (DtExerciseConn *exConn, unsigned id, const DtString &objName) | |
| virtual | ~Dt3DTwoPositionedObject () |
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 | |
| void | initRecords () |
Protected Attributes | |
| DtVdc3DAttachPoint | myStartAttachment |
| DtVdc3DAttachPoint | myEndAttachment |
| DtVector32 | myOffset |
| bool | myFlashing |
| bool | myCheckLos |
| bool | myProjected |
| std::vector< DtVdcLineSegment > | myLineSegments |
| DtEnvironmentalLineRecord | myLineRecord |
| Dt3DGraphicalObjectLineStateRecord | myLineStateRecord |
Private Member Functions | |
| DtLine3DObject () | |
| Default constructor. | |
| DtLine3DObject (const DtLine3DObject &orig) | |
| Copy constructor. | |
| DtLine3DObject & | operator= (const DtLine3DObject &rhs) |
| Assignment operator. | |
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 |
A 3D Line Stealth Draw Control Object.
DtLine3DObject represents a line that can be positioned and displayed in the scene. 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.
| vrvControlToolkit::DtLine3DObject::DtLine3DObject | ( | DtExerciseConn * | exConn, |
| unsigned | id, | ||
| const DtVdc3DAttachPoint & | startAttachment, | ||
| const DtVdc3DAttachPoint & | endAttachment, | ||
| int | numSegments = 1, |
||
| const DtVector & | offset = DtVector::zero(), |
||
| DtVdcColor | color = DtVdcColor::DtVdcWhite, |
||
| DtVdcLineSegment::DtVdcSegmentStyle | lineStyle = DtVdcLineSegment::DtVdcSegmentStyleStraight, |
||
| DtVdcLineSegment::DtVdcSegmentArrowStyle | arrowStyle = DtVdcLineSegment::DtVdcSegmentArrowStyleNoArrow, |
||
| unsigned | thickness = 1, |
||
| unsigned | pattern = 0xffffff, |
||
| bool | flashing = false, |
||
| bool | checkLos = false, |
||
| bool | projected = false |
||
| ) |
Construct the 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.
| id | Passed to DtDrawControlObject base (see) |
| startAttachment | Starting attachment of the line |
| endAttachment | Ending attachment of the line |
| numSegments | The number of segments the line should be divided into. Note that this can be changed at any time |
| offset | a 3D vector indicating an right/front/down offset (in meters) from the base attachment that is applied to both start and end positions |
| color | The color to apply to all segments constructed |
| lineStyle | A style enumeration from DtVdcLineSegment applied to all segments constructed |
| arrowStyle | An arrow style enumeration from DtVdcLineSegment applied to all segments constructed |
| thickness | The number of pixels thick to draw all segments constructed |
| pattern | A stipple pattern used to draw all segments constructed |
| flashing | A boolean parameter indicating whether or not the line should be flashing |
| checkLos | A boolean parameter indicating whether or not the line should be terminated upon collision with the terrain. A check is made going from the starting attachment point to the end attachment point. If any terrain is intersected, that point of intersection becomes the new (temporary) end attach point. This is re-evaluated each frame, so may become CPU intensive for long lines or complex terrains |
| projected | A boolean parameter indicating whether or not the line should be projected onto the overlay. This prevents terrain occlusion |
|
virtual |
|
private |
Default constructor.
Private and not implemented - you must supply an id and basic geometric parameters to construct the line
|
private |
Copy constructor.
Private and unimplemented - not copyable.
|
private |
Assignment operator.
Private and unimplemented - not copyable.
|
virtual |
startAttachment accessor
Get the line's start position
Implements vrvControlToolkit::Dt3DTwoPositionedObject.
|
virtual |
startAttachment mutator
Set the line's start position
| startAttachment | attach point type and data |
Implements vrvControlToolkit::Dt3DTwoPositionedObject.
|
virtual |
endAttachment accessor
Get the line's end position
Implements vrvControlToolkit::Dt3DTwoPositionedObject.
|
virtual |
endAttachment mutator
Set the line's end position
| endAttachment | attach point type and data |
Implements vrvControlToolkit::Dt3DTwoPositionedObject.
|
virtual |
offset accessor
Get the object's offset from the attach point, in entity coordinates if attached, geocentric otherwise
|
virtual |
offset mutator
Set the object's offset from the attach point, in entity coordinates if attached, geocentric otherwise
| offset | [X, Y, Z] |
|
virtual |
numSegments accessor
Get the number of segments in this line
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
numSegments mutator
Set the number of individual segments that make up this line
| numSegments | 0 to N |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
color accessor
Get the color assigned to the indicated segment
| segment | The segment to retrieve the color from |
|
virtual |
Reimplemented from vrvControlToolkit::DtDrawControlObject.
|
virtual |
color mutator
Set the color to use when drawing the indicated segment
| color | The DtVdcColor to use |
| segment | The segment to apply the color to |
|
virtual |
Reimplemented from vrvControlToolkit::DtDrawControlObject.
|
virtual |
lineStyle accessor
Get the lineStyle assigned to the indicated segment
| segment | The segment to retrieve the lineStyle from |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
lineStyle mutator
Set the lineStyle to use when drawing the indicated segment
| lineStyle | The lineStyle to use for the indicated segment |
| segment | The segment to apply the lineStyle to |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
arrowStyle accessor
Get the arrowStyle assigned to the indicated segment
| segment | The segment to retrieve the arrowStyle from |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
arrowStyle mutator
Set the arrowStyle to use when drawing the indicated segment
| arrowStyle | The arrowStyle to use for the indicated segment |
| segment | The segment to apply the arrowStyle to |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
pattern accessor
Get the stipple pattern used when drawing the indicated segment
| segment | The segment to retrieve the pattern from |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
pattern mutator
Set the stipple pattern to use when drawing the indicated segment
| pattern | The stipple pattern, 0x00000000 to 0xFFFFFFFF. |
| segment | The segment to apply the pattern to |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
thickness accessor
Get the thickness assigned to the indicated segment
| segment | The segment to retrieve the thickness from |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
thickness mutator
Set the thickness to use when drawing the indicated segment
| thickness | The 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. |
| segment | The segment to apply the thickness to |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
percentage accessor
Get the percentage of the line that the indicated segment occupies
| segment | The segment to retrieve the percentage from |
Implements vrvControlToolkit::DtLineObjectInterface.
|
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.
| percentage | The percentage (0. to 1.) |
| segment | The segment to apply the percentage to |
Implements vrvControlToolkit::DtLineObjectInterface.
|
virtual |
flashing accessor
Get the boolean that indicates whether or not the line should flash
Reimplemented from vrvControlToolkit::DtDrawControlObject.
|
virtual |
flashing mutator
Set the boolean that indicates whether or not the line should flash
| flashing | true or false |
Reimplemented from vrvControlToolkit::DtDrawControlObject.
|
virtual |
checkLos accessor
Get the boolean that indicates whether or not the line is checked for terrain collisions
|
virtual |
checkLos mutator
Set the boolean that indicates whether or not the line is checked for terrain collisions
| checkLos | true or false |
|
virtual |
projected accessor
Get the boolean that indicates whether or not the line (if it is a 3D line) should be projected onto the overlay (preventing terrain occlusion)
|
virtual |
projected mutator
Set the boolean that indicates whether or not the line (if it is a 3D line) should be projected onto the overlay (preventing terrain occlusion)
| projected | true or false |
|
virtual |
Reimplemented from vrvControlToolkit::DtDrawControlObject.
|
virtual |
update the internal pdu
Make sure the internal pdu reflects the actual state of the draw control object's members. This is necessary because some members can be modified directly (which make the interface easier to use). DtStealthRemoteDrawer::update() calls this, so the user doesn't need to; but if the user is accessing the pdu directly (via the pdu() accessor) this should be called before using the pdu.
Implements vrvControlToolkit::DtDrawControlObject.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |