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

An OSG implementation of the Overlay Circular Wedge Model. More...

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

Public Member Functions

 DtOsgOverlayWedgeModel (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtOsgOverlayWedgeModel ()
 DTOR. More...
 
virtual void setOrientation (const DtTaitBryan &orientation)
 Set the global orientation of the wedge. More...
 
virtual void setWedgeSpan (double wedgeSpan)
 Set the end angle of the wedge Valid range for argument values are 0 to PI radians. More...
 
virtual double wedgeSpan () const
 
virtual void setFillPattern (const std::vector< unsigned int > &)
 Set the fill stipple pattern of the wedge. More...
 
virtual void setColor (float r, float g, float b, float a)
 Sets the inside and outside color of the wedge Akin to calling setInsideColor(...) and setOutsideColor(...) More...
 
virtual void update ()
 Called on tick. More...
 
virtual void setModelDefinition (const std::string &str)
 Sets the model definition on the model instance. More...
 
virtual void setOrigin (const DtVector &position)
 Set/Get the global position of the wedge. More...
 
virtual DtVector origin () const
 
virtual void setRelativePosition (double x, double y, double z)
 Set/Get the local translation of the wedge. More...
 
virtual DtVector relativePosition () const
 
virtual void setMaxAngleSegment (double angleSegmentMax)
 Set/Get the max angle segment used when building the geometry. More...
 
virtual double maxAngleSegment () const
 
virtual void setRadius (float len)
 Set/Get the radius of the wedge. More...
 
virtual float radius () const
 
virtual void setScale (float scale)
 Set/Get the numeric factor the wedge is scaled by. More...
 
virtual float scale () const
 
virtual void setVisible (bool isVisible)
 Set/Get whether the wedge is visible. More...
 
virtual bool isVisible () const
 
virtual void setStartAngle (double startAngle)
 Set/Get the start angle of the wedge, in radians. More...
 
virtual double startAngle () const
 
virtual void setFill (bool)
 Set/Get whether or not to draw a filled wedge. More...
 
virtual bool isFill () const
 
virtual void setOutline (bool)
 Set/Get whether or not to outline a filled wedge. More...
 
virtual bool isOutline () const
 
virtual void setSolidFillCenter (bool)
 Set/Get whether to solid fill or gradient fill the wedge. More...
 
virtual bool isSolidFillCenter () const
 
virtual void setStipplePattern (unsigned int stipplePattern)
 Set/Get the stipple pattern for the wedge. More...
 
virtual unsigned int stipplePattern () const
 
virtual void setOutlineWidth (float width)
 Set the outline width of the wedge Uses DtLineSegmentInterface::setWidth. More...
 
virtual float outlineWidth () const
 
virtual void setCentralVertexColor (float r, float g, float b, float a)
 Set/Get the color of the wedge's central vertex. More...
 
virtual bool getCentralVertexColor (float &r, float &g, float &b, float &a) const
 
virtual void setInsideColor (float r, float g, float b, float a)
 Sets the inside color of the wedge Valid range for argument values are 0.0 - 1.0. More...
 
virtual bool getInsideColor (float &r, float &g, float &b, float &a) const
 
virtual void setOutsideColor (float r, float g, float b, float a)
 Sets the outside color of the wedge Valid range for argument values are 0.0 - 1.0. More...
 
virtual bool getOutsideColor (float &r, float &g, float &b, float &a) const
 
virtual void setEventsEnabled (bool enabled)
 Sets to handle or not handle mouse events. More...
 
virtual bool eventsEnabled () const
 
virtual void setGroup (int groupNum)
 Sets the group this overlay will be drawn in The higher the group number, the "closer" to the eyepoint this overlay will be drawn. More...
 
virtual int group () const
 
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of a vertex in the wedge. More...
 
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Set the orientation of the wedge This function only does something if vtx equals 0. More...
 
- Public Member Functions inherited from makVrv::DtOverlayWedgeModel
 DtOverlayWedgeModel (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtOverlayWedgeModel ()
 DTOR. More...
 
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtModel ()
 DTOR. More...
 
DtModelInstancecreateModelInstance (const std::string &modelDefName, bool realize=true)
 Set the model definition and creates an instance of the model. More...
 
virtual const std::string & modelDefinitionName ()
 returns the model definition name. More...
 
virtual void saveModelToFile (const std::string &filename)
 
virtual const std::string & className () const
 Get the class name of the model instance owner. More...
 
unsigned int transformSize () const
 Get the number of position/orientations this model has. More...
 
virtual const DtVectorposition (int vtx=0) const
 Get the Position of a given point. More...
 
virtual void removePosition (int vtx)
 Remove a transform at the given position. More...
 
virtual void setPositionOffset (const DtVector &positionOffset)
 Set the position offset of the model. More...
 
virtual const DtVectorpositionOffset () const
 Get the Position Offset of the model. More...
 
virtual void setPositionAndOrientation (int vtx, const DtVector &positionOffset, const DtTaitBryan &orientation)
 Set the position and orientation of a vertex in the model at the same time. More...
 
virtual const DtTaitBryan & orientation (int vtx=0) const
 Get the Orientation of a given point. More...
 
virtual void setOrientationOffset (const DtTaitBryan &orientationOffset)
 Set the Orientation Offset of the model. More...
 
virtual const DtTaitBryan & orientationOffset () const
 Get the Orientation Offset of the model. More...
 
virtual void enableColorBlending (bool b)
 Enable / disable color blending for this model. More...
 
virtual void setBlendColor (float r, float g, float b, float a)
 Set color to use if color blending is enabled. More...
 
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 Returns the blend color. More...
 
virtual bool colorBlendingEnabled () const
 Returns whether or not blending is enabled. More...
 
virtual void enableLighting (bool l)
 set whether the model is lit; this may not be an option on all models More...
 
virtual int modelSet () const
 Get the model set this model is part of. More...
 
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance. More...
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance. More...
 
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance. More...
 
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance. More...
 
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the minimum and maximum X,Y,Z components of the bounding box. More...
 
void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume. More...
 
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume. More...
 
DtDede ()
 Get the DtDe object. More...
 
virtual void setModelInstance (DtModelInstance *modelInstance)
 Internally set the model instance pointer. More...
 
virtual void promoteBackgroundModelInstance (DtModelDefinition &defintion)
 Internally set the model instance pointer to the background one, also realizes and sends signal. More...
 
virtual bool visible () const
 Get the visible state of the model. More...
 
DtUniqueID parentSceneObjectID () const
 Parent of the model. More...
 
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 Called when a scene object added the model as a prop. More...
 
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. More...
 
virtual void setElementId (DtUniqueID id)
 Called when the element ID of the model's parent object is set. More...
 
virtual void removedFromSceneObject ()
 Called when the model was removed from a scene object. More...
 
virtual void setSolid (bool isSolid)
 Set whether or not other this model is drawn filled in. More...
 
virtual bool isProp ()
 Return whether or not this model was added as a prop. More...
 
virtual void updateMinLastFrameDistance (float distance)
 updates the closest distance to an observer over the last frame More...
 
virtual void resetLastFrameDistance ()
 resets the closest distance to an observer More...
 
virtual float minLastFrameDistance () const
 gets the closest distance to an observer last frame More...
 
virtual DtModelInstancemodelInstance ()
 Get the model instance. More...
 
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. More...
 
virtual bool supportsMultithreadedLoad ()
 can be quickly overridden to disable background loading More...
 
virtual void backgroundLoad ()
 the chunk of loading that can safely happen in the background More...
 
virtual void foregroundLoad ()
 the chunk of loading that must happen happen in the foreground, adding to scene graph etc. More...
 
virtual bool isActivelyBackgroundLoading ()
 is this being actively loaded (it has a myInLoadQueueHandle object and it's loading) More...
 
virtual DtLoaderHandlegetLoadQueueHandle ()
 returns the load queue object More...
 

Protected Member Functions

virtual void needsUpdate ()
 Sets flag so the object is updated in the next update pass. More...
 
virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)
 Attaches the model to the scene. More...
 
virtual void removeFromScene ()
 Detaches the model from the scene. More...
 
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) More...
 
- Protected Member Functions inherited from makVrv::DtModel
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 Add this model to the scene as a prop. More...
 
virtual void initializeModelInstance ()
 Push any state maintained by the model to the model instance. More...
 
void slot_modelInstanceChanged (DtModelInstance *instance)
 Called when the model instance changed. More...
 
virtual void waitAndClearLoadHandle ()
 avoids race condition, on destruction subclasses need to wait for the model to cleanly finish loading this can happen if an object times in and out very quickly More...
 
virtual void removedFromLoadQueue ()
 deletes the myInLoadQueueHandle handle More...
 
virtual void setDoneBackgroundLoading ()
 called by async task, updates myCurrentlyLoading atomic More...
 
virtual void setActivelyBackgroundLoading ()
 called right before tbb task creation More...
 

Protected Attributes

std::vector< DtVectormyDefinedVertices
 
DtUniqueID myParentId
 
bool myNeedsUpdate
 
double myWedgeSpan
 
double myStartAngle
 
- Protected Attributes inherited from makVrv::DtModel
DtLoaderHandlemyInLoadQueueHandle
 
DtDemyDe
 
const DtUniqueID myUniqueId
 The unique id is constant after initialization. More...
 
bool myColorBlendingEnabled
 The color blending enabled is needed to be set by the derived class so it doesn't get down to the model instances when instancing is enabled. More...
 
DtModelInstancemyBackgroundModelInstance
 holds the model created in the background for a bit More...
 
float myMinLastFrameDistance
 last frames mimimal distance to the camera, calculated by the instancing system More...
 
TransformList myTransforms
 We keep our own copy in case we get updates before we get a model instance. More...
 
DtModelInstancemyModelInstance
 
int myModelSet
 
int myVisualizerType
 
bool myContributesToBound
 
DtUniqueID myParentSceneObjectID
 
bool myIsPropFlag
 
float myBlendColor [4]
 
bool myVisibleFlag
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
std::string myModelDefinitionName
 

Private Member Functions

 DtOsgOverlayWedgeModel ()
 Default Constructor not implemented. More...
 
 DtOsgOverlayWedgeModel (const DtOsgOverlayWedgeModel &)
 Copy Constructor not implemented – Copy not allowed. More...
 
DtOsgOverlayWedgeModeloperator= (const DtOsgOverlayWedgeModel &)
 Assignment Operator not implemented – Copy not allowed. More...
 

Additional Inherited Members

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

Detailed Description

An OSG implementation of the Overlay Circular Wedge Model.

The drawn wedge has the following geometric parameters:

The drawn wedge has the following style properties:

Special Considerations:

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtOsgOverlayWedgeModel::~DtOsgOverlayWedgeModel ( )
virtual

DTOR.

makVrv::DtOsgOverlayWedgeModel::DtOsgOverlayWedgeModel ( )
private

Default Constructor not implemented.

makVrv::DtOsgOverlayWedgeModel::DtOsgOverlayWedgeModel ( const DtOsgOverlayWedgeModel )
private

Copy Constructor not implemented – Copy not allowed.

Member Function Documentation

virtual void makVrv::DtOsgOverlayWedgeModel::setOrigin ( const DtVector position)
virtual

Set/Get the global position of the wedge.

Implements makVrv::DtOverlayWedgeModel.

virtual DtVector makVrv::DtOsgOverlayWedgeModel::origin ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setRelativePosition ( double  x,
double  y,
double  z 
)
virtual

Set/Get the local translation of the wedge.

Implements makVrv::DtOverlayWedgeModel.

virtual DtVector makVrv::DtOsgOverlayWedgeModel::relativePosition ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setOrientation ( const DtTaitBryan &  orientation)
virtual

Set the global orientation of the wedge.

Implements makVrv::DtOverlayWedgeModel.

virtual void makVrv::DtOsgOverlayWedgeModel::setMaxAngleSegment ( double  angleSegmentMax)
virtual

Set/Get the max angle segment used when building the geometry.

Implements makVrv::DtOverlayWedgeModel.

virtual double makVrv::DtOsgOverlayWedgeModel::maxAngleSegment ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setRadius ( float  len)
virtual

Set/Get the radius of the wedge.

Implements makVrv::DtOverlayWedgeModel.

virtual float makVrv::DtOsgOverlayWedgeModel::radius ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setScale ( float  scale)
virtual

Set/Get the numeric factor the wedge is scaled by.

Implements makVrv::DtOverlayWedgeModel.

virtual float makVrv::DtOsgOverlayWedgeModel::scale ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setVisible ( bool  isVisible)
virtual

Set/Get whether the wedge is visible.

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::isVisible ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setStartAngle ( double  startAngle)
virtual

Set/Get the start angle of the wedge, in radians.

Implements makVrv::DtOverlayWedgeModel.

virtual double makVrv::DtOsgOverlayWedgeModel::startAngle ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setWedgeSpan ( double  wedgeSpan)
virtual

Set the end angle of the wedge Valid range for argument values are 0 to PI radians.

Implements makVrv::DtOverlayWedgeModel.

virtual double makVrv::DtOsgOverlayWedgeModel::wedgeSpan ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setFill ( bool  )
virtual

Set/Get whether or not to draw a filled wedge.

If false, an outline of the wedge is drawn.

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::isFill ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setOutline ( bool  )
virtual

Set/Get whether or not to outline a filled wedge.

This function does nothing if setFill(false).

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::isOutline ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setSolidFillCenter ( bool  )
virtual

Set/Get whether to solid fill or gradient fill the wedge.

This function does nothing if setFill(false).

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::isSolidFillCenter ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setFillPattern ( const std::vector< unsigned int > &  )
virtual

Set the fill stipple pattern of the wedge.

Implements makVrv::DtOverlayWedgeModel.

virtual void makVrv::DtOsgOverlayWedgeModel::setStipplePattern ( unsigned int  stipplePattern)
virtual

Set/Get the stipple pattern for the wedge.

Implements makVrv::DtOverlayWedgeModel.

virtual unsigned int makVrv::DtOsgOverlayWedgeModel::stipplePattern ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setOutlineWidth ( float  width)
virtual

Set the outline width of the wedge Uses DtLineSegmentInterface::setWidth.

Implements makVrv::DtOverlayWedgeModel.

virtual float makVrv::DtOsgOverlayWedgeModel::outlineWidth ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets the inside and outside color of the wedge Akin to calling setInsideColor(...) and setOutsideColor(...)

Implements makVrv::DtOverlayWedgeModel.

virtual void makVrv::DtOsgOverlayWedgeModel::setCentralVertexColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set/Get the color of the wedge's central vertex.

Valid range for argument values are 0.0 - 1.0.

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::getCentralVertexColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setInsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets the inside color of the wedge Valid range for argument values are 0.0 - 1.0.

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::getInsideColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setOutsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets the outside color of the wedge Valid range for argument values are 0.0 - 1.0.

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::getOutsideColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setEventsEnabled ( bool  enabled)
virtual

Sets to handle or not handle mouse events.

Implements makVrv::DtOverlayWedgeModel.

virtual bool makVrv::DtOsgOverlayWedgeModel::eventsEnabled ( ) const
virtual
virtual void makVrv::DtOsgOverlayWedgeModel::setGroup ( int  groupNum)
virtual

Sets the group this overlay will be drawn in The higher the group number, the "closer" to the eyepoint this overlay will be drawn.

Use this function to stack overlay objects in the particular order you want them displayed

Implements makVrv::DtOverlayWedgeModel.

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

Set the position of a vertex in the wedge.

Reimplemented from makVrv::DtModel.

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

Set the orientation of the wedge This function only does something if vtx equals 0.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgOverlayWedgeModel::update ( )
virtual

Called on tick.

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

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

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

Attaches the model to the scene.

Implements makVrv::DtModel.

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

Detaches the model from the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgOverlayWedgeModel::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::DtOsgOverlayWedgeModel::needsUpdate ( )
protectedvirtual

Sets flag so the object is updated in the next update pass.

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

Assignment Operator not implemented – Copy not allowed.

Member Data Documentation

std::vector<DtVector> makVrv::DtOsgOverlayWedgeModel::myDefinedVertices
protected
DtUniqueID makVrv::DtOsgOverlayWedgeModel::myParentId
protected
bool makVrv::DtOsgOverlayWedgeModel::myNeedsUpdate
protected
double makVrv::DtOsgOverlayWedgeModel::myWedgeSpan
protected
double makVrv::DtOsgOverlayWedgeModel::myStartAngle
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)