VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtSegmentedLine Class Reference

A convex polygon drawn using lines.

Inheritance diagram for makVrv::DtSegmentedLine:
Inheritance graph
[legend]

Public Member Functions

 DtSegmentedLine (DtDe &de, DtChannel *channel, DtModelSetId modelSet)
 
 DtSegmentedLine (DtOverlayRendererInterface &renderer, DtWidgetPicker &picker)
 
virtual ~DtSegmentedLine ()
 
 DtSegmentedLine ()=delete
 
 DtSegmentedLine (const DtSegmentedLine &)=delete
 
DtSegmentedLineoperator= (const DtSegmentedLine &)=delete
 
virtual void setEventsEnabled (bool enabled, unsigned long long userData=0) override
 
virtual bool eventsEnabled () const override
 
virtual void setVertexCount (unsigned int vertexCount) override
 
virtual unsigned int vertexCount () const override
 
virtual unsigned int segmentCount () const override
 
virtual void set2DPosition (unsigned int vertexIndex, float x1, float y1) override
 
virtual void get2DPosition (unsigned int vertexIndex, float &x, float &y) const override
 
virtual void set3DPosition (unsigned int vertexIndex, float x, float y, float z, float w) override
 
virtual void get3DPosition (unsigned int vertexIndex, float &x, float &y, float &z, float &w) const override
 
virtual void set3DDirection (unsigned int vertexIndex, float x, float y, float z) override
 
virtual void get3DDirection (unsigned int vertexIndex, float &x, float &y, float &z) const override
 
virtual void setDirection2DLength (unsigned int vertexIndex, float length) override
 
virtual float direction2DLength (unsigned int vertexIndex) const override
 
virtual void setSegmentColor (unsigned int segment, float r, float g, float b, float a) override
 
virtual void setPointColor (unsigned int point, float r, float g, float b, float a) override
 
virtual void setStipplePattern (unsigned int segment, unsigned int pattern) override
 
virtual void setStipplePattern (unsigned int segment, unsigned int scale, unsigned int pattern) override
 
virtual void setWidth (unsigned int segment, float w) override
 
virtual void setEventWidth (float) override
 
virtual void setGroup (int) override
 
virtual void setTexture (DtTextureInterface *texture) override
 
virtual void setZoomFactor (float z) override
 
virtual void setRotationOffset (float) override
 
- Public Member Functions inherited from makVrv::DtSegmentedLineInterface
 DtSegmentedLineInterface ()
 
virtual ~DtSegmentedLineInterface ()
 
 DtSegmentedLineInterface (const DtSegmentedLineInterface &)=delete
 
DtSegmentedLineInterfaceoperator= (const DtSegmentedLineInterface &)=delete
 

Protected Types

using LineSegmentList = std::vector< DtLineSegmentInterface * >
 
using PickableSegmentList = std::vector< DtPickableLine * >
 

Protected Member Functions

virtual DtLineSegmentInterfacecreateAndInitNewSegment ()
 
virtual void removeLineSegmentsUntilEndFrom (int segmentCount)
 
virtual void setLineSegment (int, DtLineSegmentInterface *)
 
virtual void slot_pickerDestroyed ()
 

Protected Attributes

DtOverlayRendererInterfacemyRenderer
 
DtWidgetPickermyPicker
 
LineSegmentList myLineSegments
 
PickableSegmentList myPickableSegments
 
bool myEventsEnabled
 
unsigned int myVertexCount
 
unsigned long long myUserData
 
float myEventWidth
 
bool myPickerDestroyed
 
boost::signalslib::connection myPickerDestroyedConnection
 
int myGroup
 

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtSegmentedLine::DtSegmentedLine ( DtDe de,
DtChannel channel,
DtModelSetId  modelSet 
)

CTOR.

makVrv::DtSegmentedLine::DtSegmentedLine ( DtOverlayRendererInterface renderer,
DtWidgetPicker picker 
)

CTOR.

virtual makVrv::DtSegmentedLine::~DtSegmentedLine ( )
virtual

DTOR.

makVrv::DtSegmentedLine::DtSegmentedLine ( )
delete

default constructor - not allowed

makVrv::DtSegmentedLine::DtSegmentedLine ( const DtSegmentedLine )
delete

copy constructor - not allowed

Member Function Documentation

DtSegmentedLine& makVrv::DtSegmentedLine::operator= ( const DtSegmentedLine )
delete

equals operator - not allowed

virtual void makVrv::DtSegmentedLine::setEventsEnabled ( bool  enabled,
unsigned long long  userData = 0 
)
overridevirtual

Set whether the sprite has widget events. Disabling events disconnects all of the DtSegmentedLine signals The user data is set when enabling the events, to change only the user data make multiple calls with enabled=true.

Implements makVrv::DtSegmentedLineInterface.

virtual bool makVrv::DtSegmentedLine::eventsEnabled ( ) const
overridevirtual

Get whether events are already enabled.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setVertexCount ( unsigned int  vertexCount)
overridevirtual

Set the number of vertices, set the number of vertices before setting their parameters (position, color etc). The number of segments will be one less than the number of vertices set, with the count being at least 1 if the vertex count is > 0.

Implements makVrv::DtSegmentedLineInterface.

virtual unsigned int makVrv::DtSegmentedLine::vertexCount ( ) const
overridevirtual

Get the vertex count. This count will always be one more than the number of segments available. Use segment count to get the number of segments.

Implements makVrv::DtSegmentedLineInterface.

virtual unsigned int makVrv::DtSegmentedLine::segmentCount ( ) const
overridevirtual

Number of segments available.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::set2DPosition ( unsigned int  vertexIndex,
float  x1,
float  y1 
)
overridevirtual

Set the vertex positions.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::get2DPosition ( unsigned int  vertexIndex,
float &  x,
float &  y 
) const
overridevirtual

Get the vertex position.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::set3DPosition ( unsigned int  vertexIndex,
float  x,
float  y,
float  z,
float  w 
)
overridevirtual

Set one vertex position. NOTE it is much more efficient to update all vertices using setPositions If several change.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::get3DPosition ( unsigned int  vertexIndex,
float &  x,
float &  y,
float &  z,
float &  w 
) const
overridevirtual

Get the vertex position.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::set3DDirection ( unsigned int  vertexIndex,
float  x,
float  y,
float  z 
)
overridevirtual

Set the normalized direction of the line in world space.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::get3DDirection ( unsigned int  vertexIndex,
float &  x,
float &  y,
float &  z 
) const
overridevirtual

Get the normalized direction of the vertex.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setDirection2DLength ( unsigned int  vertexIndex,
float  length 
)
overridevirtual

Set the length of the line in 2D space.

Implements makVrv::DtSegmentedLineInterface.

virtual float makVrv::DtSegmentedLine::direction2DLength ( unsigned int  vertexIndex) const
overridevirtual

Get the length of the line in 2D space.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setSegmentColor ( unsigned int  segment,
float  r,
float  g,
float  b,
float  a 
)
overridevirtual

Set the color of the segment (non-blending)

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setPointColor ( unsigned int  point,
float  r,
float  g,
float  b,
float  a 
)
overridevirtual

Set the color of the point (bleding)

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setStipplePattern ( unsigned int  segment,
unsigned int  pattern 
)
overridevirtual

Set the stipple pattern.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setStipplePattern ( unsigned int  segment,
unsigned int  scale,
unsigned int  pattern 
)
overridevirtual
virtual void makVrv::DtSegmentedLine::setWidth ( unsigned int  segment,
float  w 
)
overridevirtual

Set the line width.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setEventWidth ( float  )
overridevirtual

Sets the width of the event outline segments. To use the outline width as the event width set the event outline width to -1.0f;.

Implements makVrv::DtSegmentedLineInterface.

virtual void makVrv::DtSegmentedLine::setGroup ( int  )
overridevirtual

The higher the z order the "closer" to the eyepoint this element will be drawn. Use this variable to stack overlay objects in the particular order you want them displayed.

Implements makVrv::DtSegmentedLineInterface.

Reimplemented in makVrv::DtTexturedLine.

virtual void makVrv::DtSegmentedLine::setTexture ( DtTextureInterface texture)
overridevirtual

Texture - no-op this class does not support texturesSets the texture to use with the line no-op this class does not support textures.

Implements makVrv::DtSegmentedLineInterface.

Reimplemented in makVrv::DtTexturedLine.

virtual void makVrv::DtSegmentedLine::setZoomFactor ( float  z)
overridevirtual

Sets the factor by which to adjust distance. The zoom factor will be used to determine how to repeat the textured pattern on the line. no-op this class does not support textures.

Implements makVrv::DtSegmentedLineInterface.

Reimplemented in makVrv::DtTexturedLine.

virtual void makVrv::DtSegmentedLine::setRotationOffset ( float  )
overridevirtual

Sets the offset to the rotation to apply to the segmented line. Use for observer rotation no-op this class does not support textures.

Implements makVrv::DtSegmentedLineInterface.

Reimplemented in makVrv::DtTexturedLine.

virtual DtLineSegmentInterface* makVrv::DtSegmentedLine::createAndInitNewSegment ( )
protectedvirtual

Creates and initializes a new segment.

Reimplemented in makVrv::DtTexturedLine.

virtual void makVrv::DtSegmentedLine::removeLineSegmentsUntilEndFrom ( int  segmentCount)
protectedvirtual

Removed segments from the line starting at segmentCount until the end is reached.

Reimplemented in makVrv::DtTexturedLine.

virtual void makVrv::DtSegmentedLine::setLineSegment ( int  ,
DtLineSegmentInterface  
)
protectedvirtual

Sets the segment into the array. If array is smaller, increases size.

Reimplemented in makVrv::DtTexturedLine.

virtual void makVrv::DtSegmentedLine::slot_pickerDestroyed ( )
protectedvirtual

Called when the widget picker is destroyed, clears out pickable segment list and sets a flag to no longer use the picker.

Member Data Documentation

DtOverlayRendererInterface* makVrv::DtSegmentedLine::myRenderer
protected
DtWidgetPicker* makVrv::DtSegmentedLine::myPicker
protected
LineSegmentList makVrv::DtSegmentedLine::myLineSegments
protected
PickableSegmentList makVrv::DtSegmentedLine::myPickableSegments
protected
bool makVrv::DtSegmentedLine::myEventsEnabled
protected
unsigned int makVrv::DtSegmentedLine::myVertexCount
protected
unsigned long long makVrv::DtSegmentedLine::myUserData
protected
float makVrv::DtSegmentedLine::myEventWidth
protected
bool makVrv::DtSegmentedLine::myPickerDestroyed
protected
boost::signalslib::connection makVrv::DtSegmentedLine::myPickerDestroyedConnection
protected
int makVrv::DtSegmentedLine::myGroup
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)