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

Interface class for an Overlay Arc Model. An overlay model is positioned in 3D space and drawn onto a model set specific overlay.

An arc has the following geometric parameters:

An arc has the following style parameters:

Special Considerations:

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

Public Member Functions

 DtOverlayArcModel (DtDe &de, DtUniqueID id)
 
 DtOverlayArcModel ()=delete
 
 DtOverlayArcModel (const DtOverlayArcModel &)=delete
 
DtOverlayArcModeloperator= (const DtOverlayArcModel &)=delete
 
virtual ~DtOverlayArcModel ()
 
virtual void setTopographicHeading (double topoHeading)
 
virtual void update ()
 
virtual void setPosition (int vtx, const DtVector &position) override
 
virtual void setModelDefinition (const std::string &str) override
 
virtual void setIsSupportModel (bool isSupport) override
 
Model setters/getters (abstract)
virtual void setOrientation (const DtTaitBryan &orientation)
 
virtual DtTaitBryan orientation () const
 
virtual void setDimensions (double x, double y)
 
virtual bool getDimensions (double &x, double &y) const
 
virtual void setScale (float scale)
 
virtual float scale () const
 
virtual void setVisible (bool isVisible)
 
virtual bool isVisible () const
 
virtual void setMaxAngleSegment (double angleSegmentMax)
 
virtual double maxAngleSegment () const
 
virtual void setStartAngle (double startAngle)
 
virtual double startAngle () const
 
virtual void setEndAngle (double endAngle)
 
virtual double endAngle () const
 
virtual void setStipplePattern (unsigned int stipplePattern)
 
virtual unsigned int stipplePattern () const
 
virtual void setLineWidth (float width)
 
virtual float lineWidth () const
 
virtual void setColor (float r, float g, float b, float a)
 
virtual bool getColor (float &r, float &g, float &b, float &a) const
 
virtual void setEventsEnabled (bool enabled)
 
virtual bool eventsEnabled () const
 
virtual void setGroup (int groupNum)
 
virtual int group () const
 
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 
virtual ~DtModel ()
 
DtModelInstancecreateModelInstance (const std::string &modelDefName, bool realize=true)
 
virtual const std::string & modelDefinitionName ()
 
virtual void saveModelToFile (const std::string &filename)
 
virtual const std::string & className () const
 
virtual DtUniqueID uniqueId () const
 
unsigned int transformSize () const
 
virtual const DtVector & position (int vtx=0) const
 
virtual void removePosition (int vtx)
 
virtual void setPositionOffset (const DtVector &positionOffset)
 
virtual const DtVector & positionOffset () const
 
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 
virtual void setPositionAndOrientation (int vtx, const DtVector &positionOffset, const DtTaitBryan &orientation)
 
virtual const DtTaitBryan & orientation (int vtx=0) const
 
virtual void setOrientationOffset (const DtTaitBryan &orientationOffset)
 
virtual const DtTaitBryan & orientationOffset () const
 
virtual void enableColorBlending (bool b)
 
virtual void setBlendColor (float r, float g, float b, float a)
 
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 
virtual bool colorBlendingEnabled () const
 
virtual void enableLighting (bool l)
 
virtual DtModelSetId modelSet () const
 
const DtVector & boundingBoxExtents () const
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVector & boundingBoxCenter () const
 
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 
void setContributesToBound (bool trueOrFalse)
 
bool contributesToBound () const
 
DtDede ()
 
virtual void setModelInstance (DtModelInstance *modelInstance)
 
virtual void promoteBackgroundModelInstance (const DtModelDefinition &defintion)
 
virtual bool visible () const
 
DtUniqueID sceneObjectId () const
 
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 
virtual void addedToSceneObject (const DtUniqueID &sceneObj, DtModelSetId modelSet, int visualizerType)
 
virtual void setElementId (DtElementID id)
 
virtual void removedFromSceneObject ()
 
virtual void setSolid (bool isSolid)
 
virtual bool isProp ()
 
virtual void updateMinLastFrameDistance (float distance)
 
virtual void resetLastFrameDistance ()
 
virtual float minLastFrameDistance () const
 
virtual DtModelInstancemodelInstance ()
 
virtual const DtModelInstancemodelInstance () const
 
int visualizerType () const
 
virtual bool supportsMultithreadedLoad ()
 
virtual void backgroundLoad ()
 
virtual void foregroundLoad ()
 
virtual bool isActivelyBackgroundLoading ()
 
virtual DtLoaderHandlegetLoadQueueHandle ()
 

Protected Member Functions

virtual void setArcVertex (unsigned int index, double x, double y, double z)
 
virtual double calculateHeight (const DtVector &heightVertex) const
 
virtual void set3DPositionAux (double x, double y, double z, float tempPackedCoords[4])
 
virtual void updateColors ()
 
virtual void needsUpdate (void)
 
virtual void createArcIfNecessary ()
 
virtual void deleteArc ()
 
virtual void slot_coordinateSystemChanged ()
 
virtual void setOrigin (const DtVector &position)
 
virtual DtVector origin () const
 
virtual void addToScene (const DtUniqueID &sceneObjectId, DtModelSetId modelSet, int visualizerType) override
 
virtual void removeFromScene () override
 
- Protected Member Functions inherited from makVrv::DtModel
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 
virtual void initializeModelInstance ()
 
void slot_modelInstanceChanged (DtModelInstance *instance)
 
virtual void waitAndClearLoadHandle ()
 
virtual void removedFromLoadQueue ()
 
virtual void setDoneBackgroundLoading ()
 
virtual void setActivelyBackgroundLoading ()
 

Protected Attributes

bool myNeedsUpdate
 
boost::signalslib::connection mySignalPostUpdateConnection
 
std::vector< DtVector3< double > > myDefinedVertices
 
DtVector3< doublemyPosition
 
DtVector2< doublemyDimensions
 
DtDcm myOrientationDcm
 
DtTaitBryan myOrientationTaitBryan
 
bool myVisible
 
double myMaxAngleSegment
 
float myScale
 
DtVector4< float > myColor
 
float myLineWidth
 
unsigned int myStipplePattern
 
double myStartAngle
 
double myEndAngle
 
DtSegmentedLineInterfacemyArc
 
int myGroup
 
unsigned int myOverlay
 
bool myEventsEnabled
 
unsigned long long myUserData
 
DtSignalConnectionManager myConnections
 
DtCoordinateSystemmyCoordinateSystem = nullptr
 
- Protected Attributes inherited from makVrv::DtModel
DtLoaderHandlemyInLoadQueueHandle
 
DtDemyDe
 
const DtUniqueID myUniqueId
 
DtUniqueID myElementId
 
DtUniqueID myParentSceneObjectID
 
bool myColorBlendingEnabled
 
DtModelInstancemyBackgroundModelInstance
 
float myMinLastFrameDistance
 
TransformList myTransforms
 
DtModelInstancemyModelInstance
 
DtModelSetId myModelSet
 
int myVisualizerType
 
bool myContributesToBound
 
bool myIsPropFlag
 
float myBlendColor [4]
 
bool myVisibleFlag
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
std::string myModelDefinitionName
 
bool myRequireModelInstance = true
 

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signalslib::signal
< void(DtModel *)> 
signal_modelToBeDestroyed
 
boost::signalslib::signal
< void(DtModel *)> 
signal_modelChanged
 
boost::signalslib::signal
< bool(DtModel *, bool),
SlotReturnOR
signal_visibilityChangeRequested
 
boost::signalslib::signal
< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 
boost::signalslib::signal
< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList
 
- Static Protected Attributes inherited from makVrv::DtModel
static bool theInittedState
 

Constructor & Destructor Documentation

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

CTOR.

makVrv::DtOverlayArcModel::DtOverlayArcModel ( )
delete

Default Constructor not implemented.

makVrv::DtOverlayArcModel::DtOverlayArcModel ( const DtOverlayArcModel )
delete

Copy Constructor not implemented – Copy not allowed.

virtual makVrv::DtOverlayArcModel::~DtOverlayArcModel ( )
virtual

DTOR.

Member Function Documentation

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

Assignment Operator not implemented – Copy not allowed.

virtual void makVrv::DtOverlayArcModel::setOrientation ( const DtTaitBryan &  orientation)
virtual

Set the global orientation of the arc.

virtual DtTaitBryan makVrv::DtOverlayArcModel::orientation ( ) const
virtual

Set the global orientation of the arc.

virtual void makVrv::DtOverlayArcModel::setTopographicHeading ( double  topoHeading)
virtual

Set the arc's topographic heading, in radians.

virtual void makVrv::DtOverlayArcModel::setDimensions ( double  x,
double  y 
)
virtual

Set/Get the axis lengths of the ellipse used to draw the arc.

virtual bool makVrv::DtOverlayArcModel::getDimensions ( double x,
double y 
) const
virtual

Set/Get the axis lengths of the ellipse used to draw the arc.

virtual void makVrv::DtOverlayArcModel::setScale ( float  scale)
virtual

Set/Get the scale factor of the arc.

virtual float makVrv::DtOverlayArcModel::scale ( ) const
virtual

Set/Get the scale factor of the arc.

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

Set/Get whether the arc is visible.

Reimplemented from makVrv::DtModel.

virtual bool makVrv::DtOverlayArcModel::isVisible ( ) const
virtual

Set/Get whether the arc is visible.

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

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

virtual double makVrv::DtOverlayArcModel::maxAngleSegment ( ) const
virtual

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

virtual void makVrv::DtOverlayArcModel::setStartAngle ( double  startAngle)
virtual

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

virtual double makVrv::DtOverlayArcModel::startAngle ( ) const
virtual

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

virtual void makVrv::DtOverlayArcModel::setEndAngle ( double  endAngle)
virtual

Set/Get the end angle of the arc, in radians.

virtual double makVrv::DtOverlayArcModel::endAngle ( ) const
virtual

Set/Get the end angle of the arc, in radians.

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

Set/Get the stipple line pattern of the arc.

virtual unsigned int makVrv::DtOverlayArcModel::stipplePattern ( ) const
virtual

Set/Get the stipple line pattern of the arc.

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

Set/Get the line width of the arc Uses DtLineSegmentInterface::setWidth.

virtual float makVrv::DtOverlayArcModel::lineWidth ( ) const
virtual

Set/Get the line width of the arc Uses DtLineSegmentInterface::setWidth.

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

Set/Get the color of the arc Valid range for argument values are 0.0 - 1.0.

Reimplemented from makVrv::DtModel.

virtual bool makVrv::DtOverlayArcModel::getColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual

Set/Get the color of the arc Valid range for argument values are 0.0 - 1.0.

virtual void makVrv::DtOverlayArcModel::setEventsEnabled ( bool  enabled)
virtual

Set/Get to handle or not handle mouse events.

virtual bool makVrv::DtOverlayArcModel::eventsEnabled ( ) const
virtual

Set/Get to handle or not handle mouse events.

virtual void makVrv::DtOverlayArcModel::setGroup ( int  groupNum)
virtual

Set/Get 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.

virtual int makVrv::DtOverlayArcModel::group ( ) const
virtual

Set/Get 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.

virtual void makVrv::DtOverlayArcModel::update ( )
virtual
virtual void makVrv::DtOverlayArcModel::setPosition ( int  vtx,
const DtVector &  position 
)
overridevirtual

Set the position of a vertex in the arc When vtx is 0,.

  • The passed in vertex becomes the origin of the arc

When vtx is 1,

  • The passed in vertex becomes the end vertex of the arc
  • The origin becomes the start vertex of the arc
  • The origin of the arc is updated to be the midpoint between the start/end vertices
  • The x-dimension is set to be the distance between the start and end vertices

When vtx is 2,

  • The passed in vertex is used to infer the height of the arc via calculateHeight()
  • NOTE: This call requires a setPosition(1, [SomeVertex]) call first to define the arc 'normal'

Reimplemented from makVrv::DtModel.

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

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOverlayArcModel::setIsSupportModel ( bool  isSupport)
overridevirtual

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::DtOverlayArcModel::setArcVertex ( unsigned int  index,
double  x,
double  y,
double  z 
)
protectedvirtual

Set a vertex in myArc.

virtual double makVrv::DtOverlayArcModel::calculateHeight ( const DtVector &  heightVertex) const
protectedvirtual

Calculate the height of the arc given a height vertex This function requires at least 1 call to setPosition(1, SomeVector) and returns 0.0 otherwise.

virtual void makVrv::DtOverlayArcModel::set3DPositionAux ( double  x,
double  y,
double  z,
float  tempPackedCoords[4] 
)
protectedvirtual

Utility function for transforming/setting an arc vertex.

virtual void makVrv::DtOverlayArcModel::updateColors ( )
protectedvirtual
virtual void makVrv::DtOverlayArcModel::needsUpdate ( void  )
protectedvirtual
virtual void makVrv::DtOverlayArcModel::createArcIfNecessary ( )
protectedvirtual

Create myArc according to current state.

virtual void makVrv::DtOverlayArcModel::deleteArc ( )
protectedvirtual

Delete myArc.

virtual void makVrv::DtOverlayArcModel::slot_coordinateSystemChanged ( )
protectedvirtual

slot for when the coordinate system changes

virtual void makVrv::DtOverlayArcModel::setOrigin ( const DtVector &  position)
protectedvirtual
virtual DtVector makVrv::DtOverlayArcModel::origin ( ) const
protectedvirtual
virtual void makVrv::DtOverlayArcModel::addToScene ( const DtUniqueID sceneObjectId,
DtModelSetId  modelSet,
int  visualizerType 
)
overrideprotectedvirtual

Attaches the model to the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOverlayArcModel::removeFromScene ( )
overrideprotectedvirtual

Detaches the model from the scene.

Implements makVrv::DtModel.

Member Data Documentation

bool makVrv::DtOverlayArcModel::myNeedsUpdate
protected
boost::signalslib::connection makVrv::DtOverlayArcModel::mySignalPostUpdateConnection
protected
std::vector<DtVector3<double> > makVrv::DtOverlayArcModel::myDefinedVertices
protected
DtVector3<double> makVrv::DtOverlayArcModel::myPosition
protected
DtVector2<double> makVrv::DtOverlayArcModel::myDimensions
protected
DtDcm makVrv::DtOverlayArcModel::myOrientationDcm
protected
DtTaitBryan makVrv::DtOverlayArcModel::myOrientationTaitBryan
protected
bool makVrv::DtOverlayArcModel::myVisible
protected
double makVrv::DtOverlayArcModel::myMaxAngleSegment
protected
float makVrv::DtOverlayArcModel::myScale
protected
DtVector4<float> makVrv::DtOverlayArcModel::myColor
protected
float makVrv::DtOverlayArcModel::myLineWidth
protected
unsigned int makVrv::DtOverlayArcModel::myStipplePattern
protected
double makVrv::DtOverlayArcModel::myStartAngle
protected
double makVrv::DtOverlayArcModel::myEndAngle
protected
DtSegmentedLineInterface* makVrv::DtOverlayArcModel::myArc
protected
int makVrv::DtOverlayArcModel::myGroup
protected
unsigned int makVrv::DtOverlayArcModel::myOverlay
protected
bool makVrv::DtOverlayArcModel::myEventsEnabled
protected
unsigned long long makVrv::DtOverlayArcModel::myUserData
protected
DtSignalConnectionManager makVrv::DtOverlayArcModel::myConnections
protected
DtCoordinateSystem* makVrv::DtOverlayArcModel::myCoordinateSystem = nullptr
protected

local clone of the system wide coordinate system. for thread safety.


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)