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

OSG implementation of 3D Extruded line. More...

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

Classes

struct  ChannelInstance

Public Member Functions

 DtOsgExtrudedLineModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtOsgExtrudedLineModel ()
 DTOR.
virtual void removePosition (int index)
 Calls removePoint.
virtual void setPosition (int index, const DtVector &position)
 Sets the origin if index is 0, else no-op.
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Sets the orientation of the line.
virtual void setStipplePattern (unsigned int stipple, int repeatFactor)
 Parameters for line stippling.
virtual void setSegmentStipplePattern (int, unsigned int, int repeatFactor)
 Sets the stipple pattern of the line.
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 const std::vector
< DtVector > & 
points () const
 Returns the points associated with this line.
virtual void setColor (float r, float g, float b, float a)
 Sets the color of the line.
virtual void setWidth (float width)
 Sets the width of the line.
virtual void setSolid (bool solid)
 Sets shape solid or outlined only.
virtual void setPickable (bool)
 Sets whether or not line is pickable.
virtual void setStopOnTerrainIntersection (bool enabled)
 Set whether or not the line stops at the first terrain intersection Not implemented.
virtual void setOcclusionEnabled (bool enabled)
 Turn on or off occlusion of the line by other objects; default is true.
virtual void setVisible (bool)
 Sets model shown/hidden.
virtual void setUpExtent (float)
 Sets the height of the line ("above" the origin point)
virtual void setDownExtent (float)
 Sets the height of the line ("below" the origin point)
virtual void setLeftExtent (float)
 Sets the width of the line ("left" the origin point). If width is set, this will be set to - half width.
virtual void setRightExtent (float)
 Sets the width of the line ("right" the origin point). If width is set, this will be set to + half width.
virtual void setHeight (float)
 Sets the height of the line (-half height to + half height around center).
virtual void setDimensions (float width, float height)
 Sets the dimensions of the line.
virtual void setLineWidth (float width)
 Sets the width of the line in pixel space, not world.
virtual void setScribed (bool b)
 Sets the line to be scribed (default true)
virtual void setScribeColor (float r, float g, float b, float a)
 Sets the color of the scribe line.
virtual void setScribeOccluded (bool b)
 Sets the scribed line to be occluded by the terrain (default true)
virtual void setSegmentStartArrow (int, bool)
 Sets the arrow to be on/off at the start of the segment.
virtual void setSegmentEndArrow (int, bool)
 Sets the arrow to be on/off at the end of the segment. Start and end arrow turn on are equivalent.
virtual void setArrowSize (double)
 Sets the size of the arrow (in pixels)
virtual void setOrigin (const DtVector &v)
 Sets the origin in the scene connector.
- Public Member Functions inherited from makVrv::DtExtrudedLineModel
 DtExtrudedLineModel (DtDe &de, DtUniqueID id)
 Constructor.
 ~DtExtrudedLineModel ()
 Destructor.
- Public Member Functions inherited from makVrv::Dt3DLineModel
 Dt3DLineModel (DtDe &de, DtUniqueID id)
 CTOR.
 ~Dt3DLineModel ()
 DTOR.
- Public Member Functions inherited from makVrv::DtLineModel
 DtLineModel (DtDe &de, DtUniqueID id)
 CTOR.
 ~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 DtModelInstancemodelInstance ()
 Get the model instance.
virtual const DtModelInstancemodelInstance () const
 Get the model instance.
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
*, ChannelInstance
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 update ()
 Called when its time to update the model.
virtual void needsUpdate ()
 Called by all mutators to set up a postUpdate signal if not already connected.
virtual void setSegmentColor (int, float r, float g, float b, float a)
 Sets the color for the segment.
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 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 setupModelInstance (DtModelInstance *, DtModelDefinition *)
 Sets up the model instance with the specified model definition.
virtual void setupInstanceWithCurrentValues (DtExtrudedLineModelInstance *)
 Sets up the model instance with current values of this model.
virtual bool hasArrows () const
 Returns true if there are any arrows present.
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.
virtual void setModelDefinition (const std::string &str)
 Sets the model definition on the model instance.
virtual void setIsSupportModel (bool isSupport)
 Set whether the model is part of the support group (whether or not other scene objects can ground clamp to this model)

Protected Attributes

DtOsgSceneConnectormySceneConnector
DtUniqueID myParentId
DtVector myOrigin
bool myConnectedToPostUpdate
vrvTacticalGraphicUtilities::LineStyle myLineStyle
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
bool myFixedWidthSizing
bool myChannelSpecificMode
 Set to true if displaying model instances on a per channel basis.
ChannelInstances myChannelInstances
std::string myModelDefinition
float myColor [4]
float myScribeColor [4]
bool mySolid
bool myPickable
std::vector< DtVectormyLinePoints
float myWidth
float myHeight
float myLineWidth
float myLeftExtent
float myRightExtent
float myUpExtent
float myDownExtent
double myArrowSize
bool myScribed
bool myScribeOccluded
bool myOcclusionEnabled
unsigned int myStipplePattern
int myRepeatFactor
std::vector
< DtExtrudedLineModelInstance::SegmentInformation
mySegmentInformation
bool myScribeColorSet
bool myOriginSetByCode

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

OSG implementation of 3D Extruded line.

Member Typedef Documentation

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtOsgExtrudedLineModel::~DtOsgExtrudedLineModel ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtOsgExtrudedLineModel::removePosition ( int  index)
virtual

Calls removePoint.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgExtrudedLineModel::setPosition ( int  index,
const DtVector position 
)
virtual

Sets the origin if index is 0, else no-op.

Reimplemented from makVrv::DtModel.

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

Sets the orientation of the line.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgExtrudedLineModel::setStipplePattern ( unsigned int  stipple,
int  repeatFactor 
)
virtual

Parameters for line stippling.

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setSegmentStipplePattern ( int  ,
unsigned  int,
int  repeatFactor 
)
virtual

Sets the stipple pattern of the line.

Implements makVrv::DtExtrudedLineModel.

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

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

Implements makVrv::DtExtrudedLineModel.

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

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

Implements makVrv::DtExtrudedLineModel.

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

Returns the points associated with this line.

Implements makVrv::DtLineModel.

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

Sets the color of the line.

Implements makVrv::DtLineModel.

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

Sets the width of the line.

Implements makVrv::DtLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setSolid ( bool  solid)
virtual

Sets shape solid or outlined only.

If outlined only, and not scribed, will scribe the line with color of alpha

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgExtrudedLineModel::setPickable ( bool  )
virtual

Sets whether or not line is pickable.

Implements makVrv::Dt3DLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setStopOnTerrainIntersection ( bool  enabled)
virtual

Set whether or not the line stops at the first terrain intersection Not implemented.

Implements makVrv::Dt3DLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setOcclusionEnabled ( bool  enabled)
virtual

Turn on or off occlusion of the line by other objects; default is true.

Implements makVrv::Dt3DLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setVisible ( bool  )
virtual

Sets model shown/hidden.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgExtrudedLineModel::setUpExtent ( float  )
virtual

Sets the height of the line ("above" the origin point)

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setDownExtent ( float  )
virtual

Sets the height of the line ("below" the origin point)

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setLeftExtent ( float  )
virtual

Sets the width of the line ("left" the origin point). If width is set, this will be set to - half width.

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setRightExtent ( float  )
virtual

Sets the width of the line ("right" the origin point). If width is set, this will be set to + half width.

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setHeight ( float  )
virtual

Sets the height of the line (-half height to + half height around center).

If width is set, will 0 out width or for the entire line

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setDimensions ( float  width,
float  height 
)
virtual

Sets the dimensions of the line.

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setLineWidth ( float  width)
virtual

Sets the width of the line in pixel space, not world.

Clears out any existing dimensional size

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setScribed ( bool  b)
virtual

Sets the line to be scribed (default true)

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setScribeColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets the color of the scribe line.

Once set it will always be different than the color of the main polygon

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setScribeOccluded ( bool  b)
virtual

Sets the scribed line to be occluded by the terrain (default true)

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setSegmentStartArrow ( int  ,
bool   
)
virtual

Sets the arrow to be on/off at the start of the segment.

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setSegmentEndArrow ( int  ,
bool   
)
virtual

Sets the arrow to be on/off at the end of the segment. Start and end arrow turn on are equivalent.

Implements makVrv::DtExtrudedLineModel.

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

Sets the size of the arrow (in pixels)

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setOrigin ( const DtVector v)
virtual

Sets the origin in the scene connector.

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

Attaches the model to the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgExtrudedLineModel::removeFromScene ( )
protectedvirtual

Detaches the model from the scene.

Implements makVrv::DtModel.

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

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgExtrudedLineModel::setIsSupportModel ( bool  isSupport)
protectedvirtual

Set whether the model is part of the support group (whether or not other scene objects can ground clamp to this model)

Implements makVrv::DtModel.

virtual void makVrv::DtOsgExtrudedLineModel::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::DtOsgExtrudedLineModel::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::DtOsgExtrudedLineModel::update ( )
protectedvirtual

Called when its time to update the model.

virtual void makVrv::DtOsgExtrudedLineModel::needsUpdate ( )
protectedvirtual

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

virtual void makVrv::DtOsgExtrudedLineModel::setSegmentColor ( int  ,
float  r,
float  g,
float  b,
float  a 
)
protectedvirtual

Sets the color for the segment.

Implements makVrv::DtExtrudedLineModel.

virtual void makVrv::DtOsgExtrudedLineModel::setFixedWidthSizing ( bool  )
protectedvirtual

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

virtual void makVrv::DtOsgExtrudedLineModel::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::DtOsgExtrudedLineModel::slot_channelDestroyed ( DtChannelManager channelManager,
DtChannel channel 
)
protectedvirtual

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

virtual void makVrv::DtOsgExtrudedLineModel::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::DtOsgExtrudedLineModel::setupModelInstance ( DtModelInstance ,
DtModelDefinition  
)
protectedvirtual

Sets up the model instance with the specified model definition.

virtual void makVrv::DtOsgExtrudedLineModel::setupInstanceWithCurrentValues ( DtExtrudedLineModelInstance )
protectedvirtual

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

virtual bool makVrv::DtOsgExtrudedLineModel::hasArrows ( ) const
protectedvirtual

Returns true if there are any arrows present.

Member Data Documentation

DtOsgSceneConnector* makVrv::DtOsgExtrudedLineModel::mySceneConnector
protected
DtUniqueID makVrv::DtOsgExtrudedLineModel::myParentId
protected
DtVector makVrv::DtOsgExtrudedLineModel::myOrigin
protected
bool makVrv::DtOsgExtrudedLineModel::myConnectedToPostUpdate
protected
vrvTacticalGraphicUtilities::LineStyle makVrv::DtOsgExtrudedLineModel::myLineStyle
protected
vrvTacticalGraphicUtilities::ArrowStyle makVrv::DtOsgExtrudedLineModel::myArrowStyle
protected
bool makVrv::DtOsgExtrudedLineModel::myFixedWidthSizing
protected
bool makVrv::DtOsgExtrudedLineModel::myChannelSpecificMode
protected

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

Default is false

ChannelInstances makVrv::DtOsgExtrudedLineModel::myChannelInstances
protected
std::string makVrv::DtOsgExtrudedLineModel::myModelDefinition
protected
float makVrv::DtOsgExtrudedLineModel::myColor[4]
protected
float makVrv::DtOsgExtrudedLineModel::myScribeColor[4]
protected
bool makVrv::DtOsgExtrudedLineModel::mySolid
protected
bool makVrv::DtOsgExtrudedLineModel::myPickable
protected
std::vector<DtVector> makVrv::DtOsgExtrudedLineModel::myLinePoints
protected
float makVrv::DtOsgExtrudedLineModel::myWidth
protected
float makVrv::DtOsgExtrudedLineModel::myHeight
protected
float makVrv::DtOsgExtrudedLineModel::myLineWidth
protected
float makVrv::DtOsgExtrudedLineModel::myLeftExtent
protected
float makVrv::DtOsgExtrudedLineModel::myRightExtent
protected
float makVrv::DtOsgExtrudedLineModel::myUpExtent
protected
float makVrv::DtOsgExtrudedLineModel::myDownExtent
protected
double makVrv::DtOsgExtrudedLineModel::myArrowSize
protected
bool makVrv::DtOsgExtrudedLineModel::myScribed
protected
bool makVrv::DtOsgExtrudedLineModel::myScribeOccluded
protected
bool makVrv::DtOsgExtrudedLineModel::myOcclusionEnabled
protected
unsigned int makVrv::DtOsgExtrudedLineModel::myStipplePattern
protected
int makVrv::DtOsgExtrudedLineModel::myRepeatFactor
protected
std::vector<DtExtrudedLineModelInstance::SegmentInformation> makVrv::DtOsgExtrudedLineModel::mySegmentInformation
protected
bool makVrv::DtOsgExtrudedLineModel::myScribeColorSet
protected
bool makVrv::DtOsgExtrudedLineModel::myOriginSetByCode
protected

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

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)