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

Model for security: cover/guard/screen See: https://www.jcs.mil/Portals/36/Documents/Doctrine/Other_Pubs/ms_2525d.pdf pages 652-653 If there are 3 control points:

              ------------------   pt1  -----------------
              \                                          /
     pt2 <-----                                          ------ > pt3

If there are 4 control points:

              ------------------   pt2      pt3 -----------------
              \                                                 /
     pt1 <-----                                                 ------ > pt4
Inheritance diagram for makVrv::DtOverlaySecurityModel:
Inheritance graph
[legend]

Classes

struct  Arrow
 

Public Types

enum  SecurityType { SecurityType::COVER, SecurityType::GUARD, SecurityType::SCREEN }
 

Public Member Functions

 DtOverlaySecurityModel (DtDe &de, DtUniqueID id)
 
virtual ~DtOverlaySecurityModel ()
 
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 setSecurityType (DtOverlaySecurityModel::SecurityType type)
 
virtual
DtOverlaySecurityModel::SecurityType 
securityType () const
 
virtual void setFontFile (std::string fontFile)
 
virtual std::string fontFile () const
 
virtual void setFontPointSize (float pointSize)
 
virtual float fontPointSize () const
 
virtual void setFontColor (float r, float g, float b, float a)
 
virtual bool getFontColor (float &r, float &g, float &b, float &a) 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 createSecurityModelIfNecessary ()
 
virtual void clearGeometry ()
 
virtual void set3DPositionAux (double x, double y, double z, float tempPackedCoords[4])
 
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 updateArrow (Arrow *arrow, const DtVector &start, const DtVector &end, bool left, DtTextProxyInterface *label)
 
virtual DtDcm calcOrientationDcm (const DtVector &startV, double angleMidPoint1)
 
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
 
virtual void forEachLine (const std::function< void(DtSegmentedLineInterface *)> &func)
 
std::string securityTypeString (void) const
 
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::array< DtVector, 4 > myControlPoints
 
std::array< bool, 4 > myControlPointsSet
 
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
 
std::array< Arrow *, 2 > myArrows
 
std::array
< DtTextProxyInterface *, 2 > 
myLabels
 
DtVector myOrigin
 
SecurityType mySecurityType
 
int myNumberOfControlPoints
 
DtSignalConnectionManager myConnections
 
DtCoordinateSystemmyCoordinateSystem
 
std::string myFontFile
 
float myFontPointSize
 
DtVector4< float > myFontColor
 
DtAltitudeBasedConfigurationCollection myAltitudeBasedConfigurationCollection
 
- 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

 DtOverlaySecurityModel ()=delete
 
 DtOverlaySecurityModel (const DtOverlaySecurityModel &)=delete
 
DtOverlaySecurityModeloperator= (const DtOverlaySecurityModel &)=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
COVER 
GUARD 
SCREEN 

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtOverlaySecurityModel::~DtOverlaySecurityModel ( )
virtual

DTOR.

makVrv::DtOverlaySecurityModel::DtOverlaySecurityModel ( )
privatedelete

Default Constructor not implemented.

makVrv::DtOverlaySecurityModel::DtOverlaySecurityModel ( const DtOverlaySecurityModel )
privatedelete

Copy Constructor not implemented – Copy not allowed.

Member Function Documentation

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

Set/Get the global position of the security model.

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

Set/Get the global position of the security model.

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

Set the global orientation of the security model.

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

Set/Get the numeric factor the security model is scaled by.

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

Set/Get the numeric factor the security model is scaled by.

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

Set/Get whether the security model is visible.

Reimplemented from makVrv::DtModel.

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

Set/Get whether the security model is visible.

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

Set/Get the stipple pattern for the security model.

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

Set/Get the stipple pattern for the security model.

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

Set/Get the line width of the security model.

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

Set/Get the line width of the security model.

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

Sets the line color of the security model.

Reimplemented from makVrv::DtModel.

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

Set/Get whether to handle mouse events or not.

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

Set/Get whether to handle mouse events or not.

virtual void makVrv::DtOverlaySecurityModel::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::DtOverlaySecurityModel::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::DtOverlaySecurityModel::setSecurityType ( DtOverlaySecurityModel::SecurityType  type)
virtual

Whether guard/screen/cover.

virtual DtOverlaySecurityModel::SecurityType makVrv::DtOverlaySecurityModel::securityType ( ) const
virtual

Whether guard/screen/cover.

virtual void makVrv::DtOverlaySecurityModel::setFontFile ( std::string  fontFile)
virtual

Set/Get the font file to use for the spider web.

virtual std::string makVrv::DtOverlaySecurityModel::fontFile ( ) const
virtual

Set/Get the font file to use for the spider web.

virtual void makVrv::DtOverlaySecurityModel::setFontPointSize ( float  pointSize)
virtual

Set/Get the font point size for the spider web.

virtual float makVrv::DtOverlaySecurityModel::fontPointSize ( ) const
virtual

Set/Get the font point size for the spider web.

virtual void makVrv::DtOverlaySecurityModel::setFontColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set/Get the font color for the spider web.

virtual bool makVrv::DtOverlaySecurityModel::getFontColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual

Set/Get the font color for the spider web.

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

Set the position of a vertex in the security model.

Reimplemented from makVrv::DtModel.

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

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

Reimplemented from makVrv::DtModel.

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

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

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

Attaches the model to the scene.

Implements makVrv::DtModel.

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

Detaches the model from the scene.

Implements makVrv::DtModel.

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

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

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

Called on tick.

virtual void makVrv::DtOverlaySecurityModel::createSecurityModelIfNecessary ( )
protectedvirtual

Create according to current state.

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

Delete the DtSegmentedLines.

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

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

virtual void makVrv::DtOverlaySecurityModel::updateColors ( )
protectedvirtual

Update the vertex colors.

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

Update the vertex and segment colors for a line.

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

Update the width for a line.

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

Set whether events are enabled on a line segment.

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

Update the stipple pattern for the lines.

virtual void makVrv::DtOverlaySecurityModel::updateArrow ( Arrow arrow,
const DtVector start,
const DtVector end,
bool  left,
DtTextProxyInterface label 
)
protectedvirtual

Construct the base line points.

virtual DtDcm makVrv::DtOverlaySecurityModel::calcOrientationDcm ( const DtVector startV,
double  angleMidPoint1 
)
protectedvirtual

Get the DCM rotation from a TaitBryan rotation.

virtual void makVrv::DtOverlaySecurityModel::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::DtOverlaySecurityModel::slot_coordinateSystemChanged ( )
protectedvirtual

Slot for when the coordinate system changes.

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

Update the vertex locations.

virtual void makVrv::DtOverlaySecurityModel::setDimensions ( float  x,
float  y 
)
protectedvirtual

get/set dimensions

virtual bool makVrv::DtOverlaySecurityModel::getDimensions ( float &  x,
float &  y 
) const
protectedvirtual
virtual void makVrv::DtOverlaySecurityModel::forEachLine ( const std::function< void(DtSegmentedLineInterface *)> &  func)
protectedvirtual

do something on each arrow

std::string makVrv::DtOverlaySecurityModel::securityTypeString ( void  ) const
protected

string

DtOverlaySecurityModel& makVrv::DtOverlaySecurityModel::operator= ( const DtOverlaySecurityModel )
privatedelete

Assignment Operator not implemented – Copy not allowed.

Member Data Documentation

std::array<DtVector, 4> makVrv::DtOverlaySecurityModel::myControlPoints
protected
std::array<bool, 4> makVrv::DtOverlaySecurityModel::myControlPointsSet
protected
bool makVrv::DtOverlaySecurityModel::myNeedsUpdate
protected
boost::signalslib::connection makVrv::DtOverlaySecurityModel::mySignalPostUpdateConnection
protected
DtModelSetId makVrv::DtOverlaySecurityModel::myModelSet
protected
DtDcm makVrv::DtOverlaySecurityModel::myOrientationDcm
protected
DtTaitBryan makVrv::DtOverlaySecurityModel::myOrientationTaitBryan
protected
DtVector4<double> makVrv::DtOverlaySecurityModel::myColor
protected
DtVector2<double> makVrv::DtOverlaySecurityModel::myDimensions
protected
float makVrv::DtOverlaySecurityModel::myScale
protected
float makVrv::DtOverlaySecurityModel::myLineWidth
protected
bool makVrv::DtOverlaySecurityModel::myEventsEnabled
protected
unsigned long long makVrv::DtOverlaySecurityModel::myUserData
protected
bool makVrv::DtOverlaySecurityModel::myVisible
protected
unsigned int makVrv::DtOverlaySecurityModel::myLineStipplePattern
protected
int makVrv::DtOverlaySecurityModel::myGroup
protected
int makVrv::DtOverlaySecurityModel::myOverlayId
protected
std::array<Arrow*, 2> makVrv::DtOverlaySecurityModel::myArrows
protected
std::array<DtTextProxyInterface*, 2> makVrv::DtOverlaySecurityModel::myLabels
protected
DtVector makVrv::DtOverlaySecurityModel::myOrigin
protected
SecurityType makVrv::DtOverlaySecurityModel::mySecurityType
protected
int makVrv::DtOverlaySecurityModel::myNumberOfControlPoints
protected
DtSignalConnectionManager makVrv::DtOverlaySecurityModel::myConnections
protected
DtCoordinateSystem* makVrv::DtOverlaySecurityModel::myCoordinateSystem
protected
std::string makVrv::DtOverlaySecurityModel::myFontFile
protected
float makVrv::DtOverlaySecurityModel::myFontPointSize
protected
DtVector4<float> makVrv::DtOverlaySecurityModel::myFontColor
protected
DtAltitudeBasedConfigurationCollection makVrv::DtOverlaySecurityModel::myAltitudeBasedConfigurationCollection
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)