VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtOverlayManeuverByFireModel Class Reference

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

A maneuver by fire position has the following geometric parameters:

A maneuver by fire position has the following style properties:

In the API, you can use setManeuverMode("Support") or setManeuverMode("Attack")

A support by fire position is referenced by the following components: control pt 3 -> . . <- contorl pt 4 /|\ /|\ | | | | control pt 1 -> ----------— <- control pt 2 / \

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

An attack by fire position is referenced by the following components: . <- control pt 3 /|\ | | control pt 1 -> ----------— <- control pt 2 / \

See: https://www.jcs.mil/Portals/36/Documents/Doctrine/Other_Pubs/ms_2525d.pdf PDF page 458 (page 442 in the text)

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

Classes

struct  ManeuverArrow
 

Public Types

enum  ManeuverMode { ManeuverMode::NONE, ManeuverMode::ATTACK, ManeuverMode::SUPPORT }
 

Public Member Functions

 DtOverlayManeuverByFireModel (DtDe &de, DtUniqueID id)
 
virtual ~DtOverlayManeuverByFireModel ()
 
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 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 setManeuverMode (DtOverlayManeuverByFireModel::ManeuverMode mode)
 
virtual
DtOverlayManeuverByFireModel::ManeuverMode 
maneuverMode ()
 
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 DtVector & position (int vtx=0) const
 
virtual void removePosition (int vtx)
 
virtual void setPositionOffset (const DtVector &positionOffset)
 
virtual const DtVector & positionOffset () 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 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 needsUpdate ()
 
virtual void update ()
 
virtual void createManeuverByFireIfNecessary ()
 
virtual void clearGeometry ()
 
virtual void set3DPositionAux (double x, double y, double z, float tempPackedCoords[4])
 
virtual void setManeuverByFirePositions ()
 
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 updateArrowTip (DtSegmentedLineInterface *arrowTip, const DtVector &start, const DtVector &end)
 
virtual void updateBaseLine (DtSegmentedLineInterface *baseLine, const DtVector &start, const DtVector &end)
 
virtual DtDcm calcOrientationDcm (const DtTaitBryan &orientation)
 
virtual void set3DPositionAuxDcm (DtDcm dcmOri, DtVector posOffset, double x, double y, double z, float packedCoords[4])
 
virtual void slot_coordinateSystemChanged ()
 
virtual void updateVertices ()
 
virtual void setDimensions (float x, float y)
 
virtual bool getDimensions (float &x, float &y) const
 
void setPositionOfVertex (int vtx, const DtVector &position)
 
virtual void addToScene (const DtUniqueID &sceneObjectId, DtModelSetId modelSet, int visualizerType) override
 
virtual void removeFromScene () override
 
virtual void setIsSupportModel (bool isSupport) 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

std::vector< DtVector > myDefinedVertices
 
bool myNeedsUpdate
 
boost::signalslib::connection mySignalPostUpdateConnection
 
DtModelSetId myModelSet
 
DtDcm myOrientationDcm
 
DtTaitBryan myOrientationTaitBryan
 
DtVector4< doublemyColor
 
DtVector2< doublemyDimensions
 
float myScale
 
float myLineWidth
 
bool myEventsEnabled
 
unsigned long long myUserData
 
bool myVisible
 
unsigned int myLineStipplePattern
 
int myGroup
 
int myOverlayId
 
DtSegmentedLineInterfacemyBaseLine
 
std::vector< ManeuverArrowmyArrows
 
std::vector< DtVector > myVertices
 
DtVector myOrigin
 
ManeuverMode myManeuverMode
 
DtSignalConnectionManager myConnections
 
DtCoordinateSystemmyCoordinateSystem
 
- 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
 

Private Member Functions

 DtOverlayManeuverByFireModel ()=delete
 
 DtOverlayManeuverByFireModel (const DtOverlayManeuverByFireModel &)=delete
 
DtOverlayManeuverByFireModeloperator= (const DtOverlayManeuverByFireModel &)=delete
 

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
 

Member Enumeration Documentation

Enumerator
NONE 
ATTACK 
SUPPORT 

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtOverlayManeuverByFireModel::~DtOverlayManeuverByFireModel ( )
virtual

DTOR.

makVrv::DtOverlayManeuverByFireModel::DtOverlayManeuverByFireModel ( )
privatedelete

Default Constructor not implemented.

makVrv::DtOverlayManeuverByFireModel::DtOverlayManeuverByFireModel ( const DtOverlayManeuverByFireModel )
privatedelete

Copy Constructor not implemented – Copy not allowed.

Member Function Documentation

virtual void makVrv::DtOverlayManeuverByFireModel::setOrigin ( const DtVector &  position)
virtual

Set/Get the global position of the maneuver by fire position.

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

Set/Get the global position of the maneuver by fire position.

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

Set the global orientation of the maneuver by fire position.

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

Set/Get the numeric factor the maneuver by fire position is scaled by.

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

Set/Get the numeric factor the maneuver by fire position is scaled by.

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

Set/Get whether the maneuver by fire position is visible.

Reimplemented from makVrv::DtModel.

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

Set/Get whether the maneuver by fire position is visible.

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

Set/Get the stipple pattern for the maneuver by fire position.

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

Set/Get the stipple pattern for the maneuver by fire position.

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

Set/Get the line width of the maneuver by fire position.

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

Set/Get the line width of the maneuver by fire position.

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

Sets the line color of the maneuver by fire position.

Reimplemented from makVrv::DtModel.

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

Set/Get whether to handle mouse events or not.

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

Set/Get whether to handle mouse events or not.

virtual void makVrv::DtOverlayManeuverByFireModel::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::DtOverlayManeuverByFireModel::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::DtOverlayManeuverByFireModel::setManeuverMode ( DtOverlayManeuverByFireModel::ManeuverMode  mode)
virtual

Set/Get the maneuver mode for the tactical graphics Two modes are supported: If mode = Support then the tactical graphic will draw in maneuver by fire position mode = 2 lines If mode = Attack then the tactical graphic will draw in attack by fire position mode = 1 line.

virtual DtOverlayManeuverByFireModel::ManeuverMode makVrv::DtOverlayManeuverByFireModel::maneuverMode ( )
virtual

Set/Get the maneuver mode for the tactical graphics Two modes are supported: If mode = Support then the tactical graphic will draw in maneuver by fire position mode = 2 lines If mode = Attack then the tactical graphic will draw in attack by fire position mode = 1 line.

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

Set the position of a vertex in the maneuver by fire position.

Reimplemented from makVrv::DtModel.

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

Set the orientation of the maneuver by fire position This function only does something if vtx equals 0.

Reimplemented from makVrv::DtModel.

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

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

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

Attaches the model to the scene.

Implements makVrv::DtModel.

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

Detaches the model from the scene.

Implements makVrv::DtModel.

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

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

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

Called on tick.

virtual void makVrv::DtOverlayManeuverByFireModel::createManeuverByFireIfNecessary ( )
protectedvirtual

Create an maneuver by fire position according to current state.

virtual void makVrv::DtOverlayManeuverByFireModel::clearGeometry ( )
protectedvirtual

Delete the DtSegmentedLines.

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

Utility function for transforming a vertex and setting it on the maneuver by fire position.

virtual void makVrv::DtOverlayManeuverByFireModel::setManeuverByFirePositions ( )
protectedvirtual
virtual void makVrv::DtOverlayManeuverByFireModel::updateColors ( )
protectedvirtual

Update the vertex colors.

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

Update the vertex and segment colors for a line.

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

Update the width for a line.

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

Set whether events are enabled on a line segment.

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

Update the stipple pattern for the lines.

virtual void makVrv::DtOverlayManeuverByFireModel::updateArrowTip ( DtSegmentedLineInterface arrowTip,
const DtVector &  start,
const DtVector &  end 
)
protectedvirtual

Construct an arrow tip at the end of an arrow.

virtual void makVrv::DtOverlayManeuverByFireModel::updateBaseLine ( DtSegmentedLineInterface baseLine,
const DtVector &  start,
const DtVector &  end 
)
protectedvirtual

Construct the base line points.

virtual DtDcm makVrv::DtOverlayManeuverByFireModel::calcOrientationDcm ( const DtTaitBryan &  orientation)
protectedvirtual

Get the DCM rotation from a TaitBryan rotation.

virtual void makVrv::DtOverlayManeuverByFireModel::set3DPositionAuxDcm ( DtDcm  dcmOri,
DtVector  posOffset,
double  x,
double  y,
double  z,
float  packedCoords[4] 
)
protectedvirtual

Get the packed coordinates for an input position rotated by a dcm orientation and offset by a vec3d position.

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

Slot for when the coordinate system changes.

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

Update the maneuver by fire position vertex locations.

virtual void makVrv::DtOverlayManeuverByFireModel::setDimensions ( float  x,
float  y 
)
protectedvirtual
virtual bool makVrv::DtOverlayManeuverByFireModel::getDimensions ( float &  x,
float &  y 
) const
protectedvirtual
void makVrv::DtOverlayManeuverByFireModel::setPositionOfVertex ( int  vtx,
const DtVector &  position 
)
protected
DtOverlayManeuverByFireModel& makVrv::DtOverlayManeuverByFireModel::operator= ( const DtOverlayManeuverByFireModel )
privatedelete

Assignment Operator not implemented – Copy not allowed.

Member Data Documentation

std::vector<DtVector> makVrv::DtOverlayManeuverByFireModel::myDefinedVertices
protected
bool makVrv::DtOverlayManeuverByFireModel::myNeedsUpdate
protected
boost::signalslib::connection makVrv::DtOverlayManeuverByFireModel::mySignalPostUpdateConnection
protected
DtModelSetId makVrv::DtOverlayManeuverByFireModel::myModelSet
protected
DtDcm makVrv::DtOverlayManeuverByFireModel::myOrientationDcm
protected
DtTaitBryan makVrv::DtOverlayManeuverByFireModel::myOrientationTaitBryan
protected
DtVector4<double> makVrv::DtOverlayManeuverByFireModel::myColor
protected
DtVector2<double> makVrv::DtOverlayManeuverByFireModel::myDimensions
protected
float makVrv::DtOverlayManeuverByFireModel::myScale
protected
float makVrv::DtOverlayManeuverByFireModel::myLineWidth
protected
bool makVrv::DtOverlayManeuverByFireModel::myEventsEnabled
protected
unsigned long long makVrv::DtOverlayManeuverByFireModel::myUserData
protected
bool makVrv::DtOverlayManeuverByFireModel::myVisible
protected
unsigned int makVrv::DtOverlayManeuverByFireModel::myLineStipplePattern
protected
int makVrv::DtOverlayManeuverByFireModel::myGroup
protected
int makVrv::DtOverlayManeuverByFireModel::myOverlayId
protected
DtSegmentedLineInterface* makVrv::DtOverlayManeuverByFireModel::myBaseLine
protected
std::vector<ManeuverArrow> makVrv::DtOverlayManeuverByFireModel::myArrows
protected
std::vector<DtVector> makVrv::DtOverlayManeuverByFireModel::myVertices
protected
DtVector makVrv::DtOverlayManeuverByFireModel::myOrigin
protected
ManeuverMode makVrv::DtOverlayManeuverByFireModel::myManeuverMode
protected
DtSignalConnectionManager makVrv::DtOverlayManeuverByFireModel::myConnections
protected
DtCoordinateSystem* makVrv::DtOverlayManeuverByFireModel::myCoordinateSystem
protected

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)