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 Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtOsgOverlaySegmentedLineModel Class Reference

DtOsgOverlayLineModel extends the DtLineModel interface to include operations only appropriate for 2D lines. More...

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

Public Member Functions

 DtOsgOverlaySegmentedLineModel (DtDe &de, DtUniqueID id)
 CTOR.
 ~DtOsgOverlaySegmentedLineModel ()
 DTOR.
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of (or add) one vertex.
virtual void removePosition (int vtx)
 Remove a vertex.
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Sets the orientation of the line.
virtual void setColor (float r, float g, float b, float a)
 Set the line color.
virtual void setWidth (float width)
 Set the line width.
virtual void setStipplePattern (unsigned int pattern, int repeatFactor)
 Set a stipple pattern for the line.
virtual void setStyleSegments (const std::vector< double > &segmentPercentages)
 Set the style segments to percentages of the total line length The values in segmentPercentages must add up to 1.0.
virtual void setSegmentColor (unsigned int segmentIndex, float r, float g, float b, float a)
 Set the color of a particular segment.
virtual void setSegmentLightningStyle (unsigned int segmentIndex, bool enableLightningStyle)
 Turn on or off lightning bolt style for a particular segment.
virtual void setSegmentStartArrow (unsigned int segmentIndex, bool enableArrow)
 Turn on or off the arrow at a segment's start point.
virtual const std::vector
< DtVector > & 
points () const
 Returns the points associated with this line.
virtual void setGroup (int)
 The higher the Z order the "closer" to the eyepoint this element will be drawn.
virtual void setSegmentEndArrow (unsigned int segmentIndex, bool enableArrow)
 Turn on or off the arrow at a segment's end point.
virtual void setSegmentStipplePattern (unsigned int segmentIndex, unsigned int stipplePattern, int repeatFactor)
 Set the line stipple pattern for a segment, according to the OpenGL line stippling specification.
virtual void setSegmentWidth (unsigned int segmentIndex, double width)
 Set the width of a line segment.
virtual void setArrowSize (double)
 Sets the size of the arrow (in pixels)
virtual void setLineStyle (int)
 Sets the line style (see DtTacticalGraphicUtilities.h for types)
virtual void setArrowStyle (int)
 Sets the style of the arrow (see DtTacticalGraphicUtilities.h for types)
virtual void setSegmentStartColor (unsigned int segmentIndex, float r, float g, float b, float a)
 Set the color of the firt vertex in a segment.
virtual void setSegmentEndColor (unsigned int segmentIndex, float r, float g, float b, float a)
 Set the color of the end vertex in a segment.
virtual void setEventsEnabled (bool)
 Enable or disable widget events, such as picking and mouse-over.
virtual void setEventWidth (float width)
 Set the line width for handling events.
virtual void update ()
 Connected to the renderer's postUpdate signal; tells the model instance to update.
virtual void needsUpdate ()
 Called by all mutators to set up a postUpdate signal if not already connected.
virtual void setFixedWidthSizing (bool)
 For those lines that support it, whether or not the lines sizes when zooming to pixel space (fixed width) or to the database (non-fixed width).
virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)
 Attaches the model to the scene.
virtual void removeFromScene ()
 Detaches the model from the scene – no-op.
virtual void setModelDefinition (const std::string &str)
 Sets the model definition on the model instance.
virtual void setVisible (bool isVisible)
 Sets if the line is visible.
virtual void setIsSupportModel (bool isSupport)
 Not applicable to overlay objects.
- Public Member Functions inherited from makVrv::DtOverlaySegmentedLineModel
 DtOverlaySegmentedLineModel (DtDe &de, DtUniqueID id)
 Constructor.
virtual ~DtOverlaySegmentedLineModel ()
 Destructor.
- Public Member Functions inherited from makVrv::DtSegmentedLineModel
 DtSegmentedLineModel (DtDe &de, DtUniqueID id)
 Constructor.
virtual ~DtSegmentedLineModel ()
 Destructor.
- Public Member Functions inherited from makVrv::DtLineModel
 DtLineModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtLineModel ()
 DTOR.
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtModel ()
 DTOR.
virtual void saveModelToFile (const std::string &filename)
virtual std::string className () const
 Get the class name of the model instance owner.
unsigned int transformSize () const
 Get the number of position/orientations this model has.
const DtVectorposition (int vtx=0) const
 Get the Position of a given point.
const DtTaitBryan & orientation (int vtx=0) const
 Get the Orientation of a given point.
virtual void enableColorBlending (bool b)
 Enable / disable color blending for this model.
virtual void setBlendColor (float r, float g, float b, float a)
 Set color to use if color blending is enabled.
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 Returns the blend color.
virtual bool colorBlendingEnabled () const
 Returns whether or not blending is enabled.
virtual void enableLighting (bool l)
 set whether the model is lit; this may not be an option on all models
virtual int modelSet () const
 Get the model set this model is part of.
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance.
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance.
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the minimum and maximum X,Y,Z components of the bounding box.
void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume.
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume.
DtDede ()
 Get the DtDe object.
virtual void setModelInstance (DtModelInstance *modelInstance)
 Internally set the model instance pointer.
virtual bool visible () const
 Get the visible state of the model.
DtUniqueID parentSceneObjectID () const
 Parent of the model.
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 Called when a scene object added the model as a prop.
virtual void addedToSceneObject (const DtUniqueID &sceneObj, int modelSet, int visualizerType)
 Called when a scene object added the model with the given model set and visualizer type.
virtual void setElementId (DtUniqueID id)
 Called when the element ID of the model's parent object is set.
virtual void removedFromSceneObject ()
 Called when the model was removed from a scene object.
virtual void setSolid (bool isSolid)
 Set whether or not other this model is drawn filled in.
virtual bool isProp ()
 Return whether or not this model was added as a prop.
virtual DtModelInstancemodelInstance ()
 Get the model instance.
virtual const DtModelInstancemodelInstance () const
int visualizerType () const
 The visualizer type determines which channel-specific group node this model will be parented to, and consequently, which observer setting will cause it to be rendered in which channel.

Protected Types

typedef std::map< DtChannel
*, DtOverlaySegmentedLineModelInstance * > 
ChannelInstances

Protected Member Functions

virtual void moveInstancesFromChannelSpecific ()
 Moves instances from channel specific groups back to model set/visualizer groups.
virtual void moveInstancesToChannelSpecific ()
 Moves the single instance to channel specific instances.
virtual void slot_channelCreated (DtChannel *channel)
 Called when channel is created, if the model set is this model set then add a new model instance.
virtual void slot_channelDestroyed (DtChannelManager *channelManager, DtChannel *channel)
 If the channel destroyed contains an instance of this model, destroy that model instance.
virtual void slot_channelConfigurationModified (const std::string &deName, const std::string &winName, const std::string &oldChannelName, const DtChannelConfiguration &config)
 Check to see if model instances associated with this channel need to be created or destroyed.
virtual void setupInstanceWithCurrentValues (DtOverlaySegmentedLineModelInstance *)
 Sets up the model instance with current values of this model.

Protected Attributes

DtUniqueID mySceneObjectId
bool myEventsEnabled
float myEventWidth
bool myNeedsUpdate
bool myChannelSpecificMode
 Set to true if displaying model instances on a per channel basis.
ChannelInstances myChannelInstances
std::vector< DtVectormyPoints
double myArrowSize
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
vrvTacticalGraphicUtilities::LineStyle myLineStyle
DtOverlaySegmentedLineModelInstance::SegmentAttributesVector mySegmentInformation
std::string myModelDefinition
float myColor [4]
unsigned int myStipplePattern
int myRepeatFactor
float myWidth
bool myFixedWidthSizing
int myGroup

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signal< void(DtModel *)> signal_modelToBeDestroyed
 Signal emitted when the model is to be destroyed.
boost::signal< void(DtModel *)> signal_modelChanged
boost::signal< bool(DtModel
*, bool), SlotReturnOR
signal_visibilityChangeRequested
 Signal when the visibility has been requested, if any slot returns false, it will not change.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 Signal emitted when the model instance is created.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 Signal emitted when the model instance is to be destroyed.

Detailed Description

DtOsgOverlayLineModel extends the DtLineModel interface to include operations only appropriate for 2D lines.

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtOsgOverlaySegmentedLineModel::DtOsgOverlaySegmentedLineModel ( DtDe de,
DtUniqueID  id 
)

CTOR.

makVrv::DtOsgOverlaySegmentedLineModel::~DtOsgOverlaySegmentedLineModel ( )

DTOR.

Member Function Documentation

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setPosition ( int  vtx,
const DtVector position 
)
virtual

Set the position of (or add) one vertex.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::removePosition ( int  vtx)
virtual

Remove a vertex.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setOrientation ( int  vtx,
const DtTaitBryan &  orientation 
)
virtual

Sets the orientation of the line.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the line color.

Implements makVrv::DtLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setWidth ( float  width)
virtual

Set the line width.

Implements makVrv::DtLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setStipplePattern ( unsigned int  pattern,
int  repeatFactor 
)
virtual

Set a stipple pattern for the line.

Implements makVrv::DtLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setStyleSegments ( const std::vector< double > &  segmentPercentages)
virtual

Set the style segments to percentages of the total line length The values in segmentPercentages must add up to 1.0.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentColor ( unsigned int  segmentIndex,
float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color of a particular segment.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentLightningStyle ( unsigned int  segmentIndex,
bool  enableLightningStyle 
)
virtual

Turn on or off lightning bolt style for a particular segment.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentStartArrow ( unsigned int  segmentIndex,
bool  enableArrow 
)
virtual

Turn on or off the arrow at a segment's start point.

Implements makVrv::DtSegmentedLineModel.

virtual const std::vector<DtVector>& makVrv::DtOsgOverlaySegmentedLineModel::points ( ) const
virtual

Returns the points associated with this line.

Implements makVrv::DtLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setGroup ( int  )
virtual

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::DtOverlaySegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentEndArrow ( unsigned int  segmentIndex,
bool  enableArrow 
)
virtual

Turn on or off the arrow at a segment's end point.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentStipplePattern ( unsigned int  segmentIndex,
unsigned int  stipplePattern,
int  repeatFactor 
)
virtual

Set the line stipple pattern for a segment, according to the OpenGL line stippling specification.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentWidth ( unsigned int  segmentIndex,
double  width 
)
virtual

Set the width of a line segment.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setArrowSize ( double  )
virtual

Sets the size of the arrow (in pixels)

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setLineStyle ( int  )
virtual

Sets the line style (see DtTacticalGraphicUtilities.h for types)

Implements makVrv::DtOverlaySegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setArrowStyle ( int  )
virtual

Sets the style of the arrow (see DtTacticalGraphicUtilities.h for types)

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentStartColor ( unsigned int  segmentIndex,
float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color of the firt vertex in a segment.

This can be used for color blending between vertices.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setSegmentEndColor ( unsigned int  segmentIndex,
float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color of the end vertex in a segment.

This can be used for color blending between vertices.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setEventsEnabled ( bool  )
virtual

Enable or disable widget events, such as picking and mouse-over.

Implements makVrv::DtOverlaySegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setEventWidth ( float  width)
virtual

Set the line width for handling events.

Implements makVrv::DtOverlaySegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::addToScene ( const DtUniqueID sceneObjectId,
int  modelSet,
int  visualizerType 
)
virtual

Attaches the model to the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::removeFromScene ( )
virtual

Detaches the model from the scene – no-op.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setModelDefinition ( const std::string &  str)
virtual

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setVisible ( bool  isVisible)
virtual

Sets if the line is visible.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setIsSupportModel ( bool  isSupport)
virtual

Not applicable to overlay objects.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::update ( )
virtual

Connected to the renderer's postUpdate signal; tells the model instance to update.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::needsUpdate ( )
virtual

Called by all mutators to set up a postUpdate signal if not already connected.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setFixedWidthSizing ( bool  )
virtual

For those lines that support it, whether or not the lines sizes when zooming to pixel space (fixed width) or to the database (non-fixed width).

Default is fixed width. If changing modes, be sure to change the arrow size

Implements makVrv::DtOverlaySegmentedLineModel.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::moveInstancesFromChannelSpecific ( )
protectedvirtual

Moves instances from channel specific groups back to model set/visualizer groups.

This will mean destroying all channel specific instances and creating a single instance

virtual void makVrv::DtOsgOverlaySegmentedLineModel::moveInstancesToChannelSpecific ( )
protectedvirtual

Moves the single instance to channel specific instances.

Will make connections for channels being added and removed. This code is to allow for fixed sized items on different channels

virtual void makVrv::DtOsgOverlaySegmentedLineModel::slot_channelCreated ( DtChannel channel)
protectedvirtual

Called when channel is created, if the model set is this model set then add a new model instance.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::slot_channelDestroyed ( DtChannelManager channelManager,
DtChannel channel 
)
protectedvirtual

If the channel destroyed contains an instance of this model, destroy that model instance.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::slot_channelConfigurationModified ( const std::string &  deName,
const std::string &  winName,
const std::string &  oldChannelName,
const DtChannelConfiguration config 
)
protectedvirtual

Check to see if model instances associated with this channel need to be created or destroyed.

virtual void makVrv::DtOsgOverlaySegmentedLineModel::setupInstanceWithCurrentValues ( DtOverlaySegmentedLineModelInstance )
protectedvirtual

Sets up the model instance with current values of this model.

Member Data Documentation

DtUniqueID makVrv::DtOsgOverlaySegmentedLineModel::mySceneObjectId
protected
bool makVrv::DtOsgOverlaySegmentedLineModel::myEventsEnabled
protected
float makVrv::DtOsgOverlaySegmentedLineModel::myEventWidth
protected
bool makVrv::DtOsgOverlaySegmentedLineModel::myNeedsUpdate
protected
bool makVrv::DtOsgOverlaySegmentedLineModel::myChannelSpecificMode
protected

Set to true if displaying model instances on a per channel basis.

Default is false

ChannelInstances makVrv::DtOsgOverlaySegmentedLineModel::myChannelInstances
protected
std::vector<DtVector> makVrv::DtOsgOverlaySegmentedLineModel::myPoints
protected

Variables that are saved in order to switch between channel instance and model set instance

double makVrv::DtOsgOverlaySegmentedLineModel::myArrowSize
protected
vrvTacticalGraphicUtilities::ArrowStyle makVrv::DtOsgOverlaySegmentedLineModel::myArrowStyle
protected
vrvTacticalGraphicUtilities::LineStyle makVrv::DtOsgOverlaySegmentedLineModel::myLineStyle
protected
DtOverlaySegmentedLineModelInstance::SegmentAttributesVector makVrv::DtOsgOverlaySegmentedLineModel::mySegmentInformation
protected
std::string makVrv::DtOsgOverlaySegmentedLineModel::myModelDefinition
protected
float makVrv::DtOsgOverlaySegmentedLineModel::myColor[4]
protected
unsigned int makVrv::DtOsgOverlaySegmentedLineModel::myStipplePattern
protected
int makVrv::DtOsgOverlaySegmentedLineModel::myRepeatFactor
protected
float makVrv::DtOsgOverlaySegmentedLineModel::myWidth
protected
bool makVrv::DtOsgOverlaySegmentedLineModel::myFixedWidthSizing
protected
int makVrv::DtOsgOverlaySegmentedLineModel::myGroup
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)