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::DtOverlayAmbushLineModel Class Reference

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

An ambush line has the following geometric parameters:

An ambush line has the following style properties:

An ambush line is referenced by the following components: . <- arrow tip /|\ | <- arrow shaft | –—+–— <- skirt top ||| | ||| <- skirt lines

See: https://www.jcs.mil/Portals/36/Documents/Doctrine/Other_Pubs/ms_2525d.pdf page 463 Special Considerations:

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

Public Member Functions

 DtOverlayAmbushLineModel (DtDe &de, DtUniqueID id)
 
 DtOverlayAmbushLineModel ()=delete
 
 DtOverlayAmbushLineModel (const DtOverlayAmbushLineModel &)=delete
 
DtOverlayAmbushLineModeloperator= (const DtOverlayAmbushLineModel &)=delete
 
virtual ~DtOverlayAmbushLineModel ()
 
virtual void setOrientation (const DtTaitBryan &orientation)
 
virtual void setColor (float r, float g, float b, float a)
 
virtual bool getColor (float &r, float &g, float &b, float &a) const
 
Model setters/getters (abstract)
virtual void setOrigin (const DtVector &position)
 
virtual DtVector origin () const
 
virtual void setRelativePosition (double x, double y, double z)
 
virtual DtVector relativePosition () const
 
virtual void setScale (float scale)
 
virtual float scale () const
 
virtual void setVisible (bool isVisible)
 
virtual bool isVisible () const
 
virtual void setStipplePattern (unsigned int stipplePattern)
 
virtual unsigned int stipplePattern () const
 
virtual void setLineWidth (float)
 
virtual float lineWidth () const
 
virtual void setEventsEnabled (bool enabled)
 
virtual bool eventsEnabled () const
 
virtual void setGroup (int groupNum)
 
virtual int group () const
 
virtual void setPosition (int vtx, const DtVector &position) override
 
virtual void setOrientation (int vtx, const DtTaitBryan &orientation) override
 
virtual void setModelDefinition (const std::string &str) override
 
- 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 DtVectorposition (int vtx=0) const
 
virtual void removePosition (int vtx)
 
virtual void setPositionOffset (const DtVector &positionOffset)
 
virtual const DtVectorpositionOffset () const
 
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 DtVectorboundingBoxExtents () const
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVectorboundingBoxCenter () 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 needsUpdate ()
 
virtual void update ()
 
virtual void createAmbushLineIfNecessary ()
 
virtual void set3DVertexPosition (unsigned int index, double x, double y, double z)
 
virtual void set3DPositionAux (double x, double y, double z, float tempPackedCoords[4])
 
virtual void setAmbushLinePositions (double x, double y, double z)
 
virtual void updateColors ()
 
virtual void updateLineColor (DtSegmentedLineInterface *seg, float r, float g, float b, float a)
 
virtual void updateLineWidth (DtSegmentedLineInterface *seg, float width)
 
virtual void setEventsEnabledLine (DtSegmentedLineInterface *seg, bool b, unsigned long long userData)
 
virtual void updateLineStipple (DtSegmentedLineInterface *seg, unsigned int stipple)
 
virtual void updateVertices ()
 
virtual void setPosition (const DtVector &position)
 
virtual void addToScene (const DtUniqueID &sceneObjectId, DtModelSetId modelSet, int visualizerType) override
 
virtual void removeFromScene () override
 
virtual void setIsSupportModel (bool isSupport) override
 
virtual void setDimensions (float x, float y)
 
virtual bool getDimensions (float &x, float &y) const
 
- 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

std::vector< DtVectormyDefinedVertices
 
bool myNeedsUpdate
 
boost::signalslib::connection mySignalPostUpdateConnection
 
DtModelSetId myModelSet
 
DtDcm myOrientationDcm
 
DtVector4< float > myColor
 
DtVector2< float > myDimensions
 
DtVector3< doublemyRelativePosition
 
DtVector3< doublemyPosition
 
float myScale
 
bool myPositionSetFlag
 
float myLineWidth
 
bool myEventsEnabled
 
unsigned long long myUserData
 
bool myVisible
 
unsigned int myLineStipplePattern
 
int myGroup
 
int myOverlayId
 
DtSegmentedLineInterfacemyArrowTip
 
DtSegmentedLineInterfacemyArrowShaft
 
DtSegmentedLineInterfacemySkirtTop
 
DtSegmentedLineInterfacemySkirtLines [SKIRT_LINES]
 
- 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::DtOverlayAmbushLineModel::DtOverlayAmbushLineModel ( DtDe de,
DtUniqueID  id 
)

CTOR.

makVrv::DtOverlayAmbushLineModel::DtOverlayAmbushLineModel ( )
delete

Default Constructor not implemented.

makVrv::DtOverlayAmbushLineModel::DtOverlayAmbushLineModel ( const DtOverlayAmbushLineModel )
delete

Copy Constructor not implemented – Copy not allowed.

virtual makVrv::DtOverlayAmbushLineModel::~DtOverlayAmbushLineModel ( )
virtual

DTOR.

Member Function Documentation

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

Assignment Operator not implemented – Copy not allowed.

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

Set/Get the global position of the ambush line.

virtual DtVector makVrv::DtOverlayAmbushLineModel::origin ( ) const
virtual

Set/Get the global position of the ambush line.

virtual void makVrv::DtOverlayAmbushLineModel::setRelativePosition ( double  x,
double  y,
double  z 
)
virtual

Set/Get the local translation of the ambush line.

virtual DtVector makVrv::DtOverlayAmbushLineModel::relativePosition ( ) const
virtual

Set/Get the local translation of the ambush line.

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

Set the global orientation of the ambush line.

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

Set/Get the numeric factor the ambush line is scaled by.

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

Set/Get the numeric factor the ambush line is scaled by.

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

Set/Get whether the ambush line is visible.

Reimplemented from makVrv::DtModel.

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

Set/Get whether the ambush line is visible.

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

Set/Get the stipple pattern for the ambush line.

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

Set/Get the stipple pattern for the ambush line.

virtual void makVrv::DtOverlayAmbushLineModel::setLineWidth ( float  )
virtual

Set/Get the line width of the ambush line.

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

Set/Get the line width of the ambush line.

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

Sets the line color of the ambush line.

Reimplemented from makVrv::DtModel.

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

Set/Get whether to handle mouse events or not.

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

Set/Get whether to handle mouse events or not.

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

virtual int makVrv::DtOverlayAmbushLineModel::group ( ) const
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.

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

Set the position of a vertex in the ambush line.

Reimplemented from makVrv::DtModel.

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

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

Reimplemented from makVrv::DtModel.

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

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOverlayAmbushLineModel::addToScene ( const DtUniqueID sceneObjectId,
DtModelSetId  modelSet,
int  visualizerType 
)
overrideprotectedvirtual

Attaches the model to the scene.

Implements makVrv::DtModel.

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

Detaches the model from the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOverlayAmbushLineModel::setIsSupportModel ( bool  isSupport)
overrideprotectedvirtual

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::DtOverlayAmbushLineModel::needsUpdate ( )
protectedvirtual

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

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

Called on tick.

virtual void makVrv::DtOverlayAmbushLineModel::createAmbushLineIfNecessary ( )
protectedvirtual

Create an ambush line according to current state.

virtual void makVrv::DtOverlayAmbushLineModel::set3DVertexPosition ( unsigned int  index,
double  x,
double  y,
double  z 
)
protectedvirtual

Sets a ambush line's position.

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

Utility function for transforming a vertex and setting it on the ambush line.

virtual void makVrv::DtOverlayAmbushLineModel::setAmbushLinePositions ( double  x,
double  y,
double  z 
)
protectedvirtual
virtual void makVrv::DtOverlayAmbushLineModel::updateColors ( )
protectedvirtual

Update the vertex colors.

virtual void makVrv::DtOverlayAmbushLineModel::updateLineColor ( DtSegmentedLineInterface seg,
float  r,
float  g,
float  b,
float  a 
)
protectedvirtual

Update the vertex and segment colors for a line.

virtual void makVrv::DtOverlayAmbushLineModel::updateLineWidth ( DtSegmentedLineInterface seg,
float  width 
)
protectedvirtual

Update the width for a line.

virtual void makVrv::DtOverlayAmbushLineModel::setEventsEnabledLine ( DtSegmentedLineInterface seg,
bool  b,
unsigned long long  userData 
)
protectedvirtual

Set whether events are enabled on a line segment.

virtual void makVrv::DtOverlayAmbushLineModel::updateLineStipple ( DtSegmentedLineInterface seg,
unsigned int  stipple 
)
protectedvirtual

Update the stipple pattern for the lines.

virtual void makVrv::DtOverlayAmbushLineModel::updateVertices ( )
protectedvirtual

Update the ambush line vertex locations.

virtual void makVrv::DtOverlayAmbushLineModel::setPosition ( const DtVector position)
protectedvirtual
virtual void makVrv::DtOverlayAmbushLineModel::setDimensions ( float  x,
float  y 
)
protectedvirtual

Set/Get the width and height of the ambush line.

virtual bool makVrv::DtOverlayAmbushLineModel::getDimensions ( float &  x,
float &  y 
) const
protectedvirtual

Set/Get the width and height of the ambush line.

Member Data Documentation

std::vector<DtVector> makVrv::DtOverlayAmbushLineModel::myDefinedVertices
protected
bool makVrv::DtOverlayAmbushLineModel::myNeedsUpdate
protected
boost::signalslib::connection makVrv::DtOverlayAmbushLineModel::mySignalPostUpdateConnection
protected
DtModelSetId makVrv::DtOverlayAmbushLineModel::myModelSet
protected
DtDcm makVrv::DtOverlayAmbushLineModel::myOrientationDcm
protected
DtVector4<float> makVrv::DtOverlayAmbushLineModel::myColor
protected
DtVector2<float> makVrv::DtOverlayAmbushLineModel::myDimensions
protected
DtVector3<double> makVrv::DtOverlayAmbushLineModel::myRelativePosition
protected
DtVector3<double> makVrv::DtOverlayAmbushLineModel::myPosition
protected
float makVrv::DtOverlayAmbushLineModel::myScale
protected
bool makVrv::DtOverlayAmbushLineModel::myPositionSetFlag
protected
float makVrv::DtOverlayAmbushLineModel::myLineWidth
protected
bool makVrv::DtOverlayAmbushLineModel::myEventsEnabled
protected
unsigned long long makVrv::DtOverlayAmbushLineModel::myUserData
protected
bool makVrv::DtOverlayAmbushLineModel::myVisible
protected
unsigned int makVrv::DtOverlayAmbushLineModel::myLineStipplePattern
protected
int makVrv::DtOverlayAmbushLineModel::myGroup
protected
int makVrv::DtOverlayAmbushLineModel::myOverlayId
protected
DtSegmentedLineInterface* makVrv::DtOverlayAmbushLineModel::myArrowTip
protected
DtSegmentedLineInterface* makVrv::DtOverlayAmbushLineModel::myArrowShaft
protected
DtSegmentedLineInterface* makVrv::DtOverlayAmbushLineModel::mySkirtTop
protected
DtSegmentedLineInterface* makVrv::DtOverlayAmbushLineModel::mySkirtLines[SKIRT_LINES]
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)