VR-Forces 4.1.1 Class Documentation
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtOsgOverlayGreatCircleArcModel Class Reference

OSG implementation of segmentable, stylizable 3D Great Circle Arc drawn on a 2D Overlay. More...

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

Public Member Functions

 DtOsgOverlayGreatCircleArcModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtOsgOverlayGreatCircleArcModel ()
 DTOR.
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 setPosition (int index, const DtVector &position)
 Sets the position of the point at the specified index.
virtual void setOrientation (int index, const DtTaitBryan &orientation)
 Sets the orientation of the line.
virtual void setColor (float r, float g, float b, float a)
 Set the color of the line.
virtual void setWidth (float width)
 Set the width of the line.
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 setSegmentStipplePattern (unsigned int segmentIndex, unsigned int stipplePattern, int repeatFactor)
 Segment parameters for line stippling.
virtual void setSegmentWidth (unsigned int segmentIndex, double width)
 Sets the width of the segment.
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 setSolid (bool solid)
 Set whether the model is solid.
virtual void setVisible (bool)
 Sets model shown/hidden.
virtual void setMaxSubdivisions (int subDivisions)
 The maximum number of subdivisions that will be created when implementing curvature.
virtual void setPreferredSubdivisionSize (double size)
 The preferred size of curvature-related subdivisions.
virtual void setHeightScale (double heightScale)
 This scales the arc height of segments to the arcLength of the segment times the heightScale value.
- Public Member Functions inherited from makVrv::DtOverlayGreatCircleArcModel
 DtOverlayGreatCircleArcModel (DtDe &de, DtUniqueID id)
 Constructor.
virtual ~DtOverlayGreatCircleArcModel ()
 Destructor.
- Public Member Functions inherited from makVrv::DtOverlaySegmentedLineModel
 DtOverlaySegmentedLineModel (DtDe &de, DtUniqueID id)
 Constructor.
 ~DtOverlaySegmentedLineModel ()
 Destructor.
virtual void setLineStyle (int)=0
 Sets the style of line to use. See DtLineFacadeInterface.h for styles.
- Public Member Functions inherited from makVrv::DtSegmentedLineModel
 DtSegmentedLineModel (DtDe &de, DtUniqueID id)
 Constructor.
 ~DtSegmentedLineModel ()
 Destructor.
virtual void setSegmentLightningStyle (unsigned int segmentIndex, bool enableLightningStyle)=0
 Turn on or off lightning bolt style for a particular segment.
virtual void setSegmentStartArrow (unsigned int segmentIndex, bool enableArrow)=0
 Turn on or off the arrow at a segment's start point.
virtual void setSegmentEndArrow (unsigned int segmentIndex, bool enableArrow)=0
 Turn on or off the arrow at a segment's end point.
virtual void setArrowSize (double)=0
 Sets the size of the arrow (in pixels)
virtual void setArrowStyle (int)=0
 Sets the style of the arrow. Applies to all segments.
- 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.
virtual void removePosition (int vtx)
 Remove a transform at the given position.
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 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.
void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance.
void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
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 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 Member Functions

virtual void update ()
 Called on signal_postUpdate; time to update render data.
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.
virtual void setModelDefinition (const std::string &str)
 Sets the model definition on the model instance.

Protected Attributes

DtUniqueID mySceneObjectId
bool myEventsEnabled
float myEventWidth
bool myConnectedToPostUpdate

Private Member Functions

 DtOsgOverlayGreatCircleArcModel ()
 Default, unimplemented constructor.
 DtOsgOverlayGreatCircleArcModel (const DtOsgOverlayGreatCircleArcModel &)
 Unimplemented copy constructor.
DtOsgOverlayGreatCircleArcModeloperator= (const DtOsgOverlayGreatCircleArcModel &)
 Unimplemented assignment operator.
virtual void setSegmentLightningStyle (unsigned int segmentIndex, bool enableLightningStyle)
 Turn on or off lightning bolt style for a particular segment (Unimplemented)
virtual void setSegmentStartArrow (unsigned int segmentIndex, bool enableArrow)
 Turn on or off the arrow at a segment's start point.
virtual void setSegmentEndArrow (unsigned int segmentIndex, bool enableArrow)
 Turn on or off the arrow at a segment's end point. Equivalent to setting arrow at start point.
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)

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.
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList

Detailed Description

OSG implementation of segmentable, stylizable 3D Great Circle Arc drawn on a 2D Overlay.

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtOsgOverlayGreatCircleArcModel::~DtOsgOverlayGreatCircleArcModel ( )
virtual

DTOR.

makVrv::DtOsgOverlayGreatCircleArcModel::DtOsgOverlayGreatCircleArcModel ( )
private

Default, unimplemented constructor.

makVrv::DtOsgOverlayGreatCircleArcModel::DtOsgOverlayGreatCircleArcModel ( const DtOsgOverlayGreatCircleArcModel )
private

Unimplemented copy constructor.

Member Function Documentation

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

Sets the position of the point at the specified index.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::setOrientation ( int  index,
const DtTaitBryan &  orientation 
)
virtual

Sets the orientation of the line.

Reimplemented from makVrv::DtModel.

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

Set the color of the line.

Implements makVrv::DtLineModel.

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

Set the width of the line.

Implements makVrv::DtLineModel.

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

Set a stipple pattern for the line.

Implements makVrv::DtLineModel.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::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::DtOsgOverlayGreatCircleArcModel::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::DtOsgOverlayGreatCircleArcModel::setSegmentStipplePattern ( unsigned int  segmentIndex,
unsigned int  stipplePattern,
int  repeatFactor 
)
virtual

Segment parameters for line stippling.

Implements makVrv::DtSegmentedLineModel.

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

Sets the width of the segment.

Implements makVrv::DtSegmentedLineModel.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::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::DtOsgOverlayGreatCircleArcModel::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::DtOsgOverlayGreatCircleArcModel::setSolid ( bool  solid)
virtual

Set whether the model is solid.

Implements makVrv::DtModel.

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

Sets model shown/hidden.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::setMaxSubdivisions ( int  subDivisions)
virtual

The maximum number of subdivisions that will be created when implementing curvature.

Implements makVrv::DtOverlayGreatCircleArcModel.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::setPreferredSubdivisionSize ( double  size)
virtual

The preferred size of curvature-related subdivisions.

This will only be honored up to the point at which it causes maxSubdivisions to be exceeded

Implements makVrv::DtOverlayGreatCircleArcModel.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::setHeightScale ( double  heightScale)
virtual

This scales the arc height of segments to the arcLength of the segment times the heightScale value.

Implements makVrv::DtOverlayGreatCircleArcModel.

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

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

Implements makVrv::DtOverlaySegmentedLineModel.

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

Set the line width for handling events.

Implements makVrv::DtOverlaySegmentedLineModel.

DtOsgOverlayGreatCircleArcModel& makVrv::DtOsgOverlayGreatCircleArcModel::operator= ( const DtOsgOverlayGreatCircleArcModel )
private

Unimplemented assignment operator.

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

Turn on or off lightning bolt style for a particular segment (Unimplemented)

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

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

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

Turn on or off the arrow at a segment's end point. Equivalent to setting arrow at start point.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::setArrowSize ( double  )
privatevirtual

Sets the size of the arrow (in pixels)

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::setLineStyle ( int  )
privatevirtual

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

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::setArrowStyle ( int  )
privatevirtual

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

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

Attaches the model to the scene.

Implements makVrv::DtModel.

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

Detaches the model from the scene.

Implements makVrv::DtModel.

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

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::update ( )
protectedvirtual

Called on signal_postUpdate; time to update render data.

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

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

virtual void makVrv::DtOsgOverlayGreatCircleArcModel::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::DtOverlaySegmentedLineModel.

Member Data Documentation

DtUniqueID makVrv::DtOsgOverlayGreatCircleArcModel::mySceneObjectId
protected
bool makVrv::DtOsgOverlayGreatCircleArcModel::myEventsEnabled
protected
float makVrv::DtOsgOverlayGreatCircleArcModel::myEventWidth
protected
bool makVrv::DtOsgOverlayGreatCircleArcModel::myConnectedToPostUpdate
protected

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

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)