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 | Private Member Functions
makVrv::DtArcModelInstance Class Referenceabstract

Interface for an Arc Model instance.

An arc with the following geometric parameters:

An arc with the following geometric parameters:

Special Considerations:

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

Public Member Functions

 DtArcModelInstance (DtDe &de)
 
virtual ~DtArcModelInstance ()
 
virtual void setOverlay (unsigned int overlayId)
 
virtual void setPosition (int vtx, const DtVector &position)
 
virtual bool realize (const DtModelDefinition &definition)
 
virtual void update ()
 
virtual void setOrigin (const DtVector &position)
 
virtual DtVector origin () const
 
virtual void setOrientation (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, unsigned long long userData)
 
virtual bool eventsEnabled () const
 
virtual void setGroup (int groupNum)
 
virtual int group () const
 
- Public Member Functions inherited from makVrv::DtOsgModelInstance
virtual ~DtOsgModelInstance ()
 
virtual bool cloneInstance (const DtModelDefinition &definition)
 
virtual void addToConnector (DtOsgSceneConnector *connector)
 
virtual bool removeFromConnector (DtOsgSceneConnector *connector)
 
virtual bool saveModelToFile (const std::string &filename) const
 
virtual void enableColorBlending (bool b)
 
virtual void setBlendColor (float r, float g, float b, float a)
 
virtual void enableTexture (bool onOff)
 
virtual osg::Node * rootNode ()
 
virtual const osg::Node * rootNode () const
 
virtual osg::Node * sensorNode ()
 
virtual const osg::Node * sensorNode () const
 
virtual void setDynamicSensorRegion (const std::string &region, bool state)
 
virtual bool dynamicSensorRegion (const std::string &region)
 
virtual const
SensorRegionStateMap
dynamicSensorRegionMap () const
 
virtual void slot_atcGlobalModelEnableChanged ()
 
virtual bool alphaToCoverageEnabled ()
 
- Public Member Functions inherited from makVrv::DtModelInstance
 DtModelInstance (DtDe &de)
 
virtual ~DtModelInstance ()
 
const std::string & realizedDefinitionName () const
 
const DtVectorboundingBoxExtents () const
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVectorboundingBoxCenter () const
 
void getBoundingBoxCenter (double &x, double &y, double &z) const
 
void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 
const DtVectorallGeometryboundingBoxExtents () const
 
void getAllGeometryBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVectorallGeometryboundingBoxCenter () const
 
void getAllGeometryBoundingBoxCenter (double &x, double &y, double &z) const
 
void getAllGeometryBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 
virtual void setContributesToBound (bool trueOrFalse)
 
bool contributesToBound () const
 

Protected Member Functions

virtual void setArcVertex (unsigned int index, double x, double y, double z)=0
 
virtual double calculateHeight (const DtVector &heightVertex) const =0
 
virtual void createArcIfNecessary ()
 
virtual void deleteArc ()
 
virtual void updateColors ()
 
- Protected Member Functions inherited from makVrv::DtOsgModelInstance
 DtOsgModelInstance (DtDe &de)
 
virtual void updateColorBlending ()
 
virtual void updateColorBlending (osg::Node *node)
 
virtual void enableTexture (osg::Node *root, bool onOff)
 
virtual void updateBoundingBoxViaContents ()
 
virtual void setRootNode (osg::Node *node)
 
virtual void setUpDepthTest (osg::StateSet *stateSet)
 

Protected Attributes

std::vector< osg::Vec3d > myDefinedVertices
 
osg::Vec3d myPosition
 
osg::Vec2d myDimensions
 
DtDcm myOrientationDcm
 
DtTaitBryan myOrientationTaitBryan
 
bool myVisible
 
double myMaxAngleSegment
 
float myScale
 
osg::Vec4 myColor
 
float myLineWidth
 
unsigned int myStipplePattern
 
double myStartAngle
 
double myEndAngle
 
DtSegmentedLinemyArc
 
int myGroup
 
unsigned int myOverlay
 
bool myEventsEnabled
 
unsigned long long myUserData
 
- Protected Attributes inherited from makVrv::DtOsgModelInstance
osg::ref_ptr< osg::Node > myModelRoot
 
osg::ref_ptr< osg::StateSet > myCachedState
 
SensorRegionStateMap mySensorRegionMap
 
AlphaToCoverageState myAlphaToCoverageState
 
DtSignalConnectionManager myConnections
 
bool myModelInstanceShaderSet
 
- Protected Attributes inherited from makVrv::DtModelInstance
DtDemyDe
 
std::string myRealizedModelDefinitionName
 
DtVector myBoundingBoxCenter
 
DtVector myBoundingBoxExtents
 
DtVector myBoundingBoxMinimum
 
DtVector myBoundingBoxMaximum
 
DtVector myAllGeometryBoundingBoxCenter
 
DtVector myAllGeometryBoundingBoxExtents
 
DtVector myAllGeometryBoundingBoxMinimum
 
DtVector myAllGeometryBoundingBoxMaximum
 
bool myContributesToBound
 
bool myColorBlendingEnabled
 
float myBlendRed
 
float myBlendBlue
 
float myBlendGreen
 
float myBlendAlpha
 

Private Member Functions

 DtArcModelInstance ()
 
 DtArcModelInstance (const DtArcModelInstance &)
 
DtArcModelInstanceoperator= (const DtArcModelInstance &)
 

Additional Inherited Members

- Public Types inherited from makVrv::DtOsgModelInstance
enum  AlphaToCoverageState { USE_GLOBAL, FORCE_OFF, FORCE_ON }
 
typedef std::unordered_map
< std::string, bool
SensorRegionStateMap
 
- Static Public Member Functions inherited from makVrv::DtModelInstance
static float readFloat (const std::string &paramName, const DtModelDefinition &definition)
 
static DtVector readVector (const std::string &paramName, const DtModelDefinition &definition)
 
static DtVector4< float > readVector4 (const std::string &paramName, const DtModelDefinition &definition)
 
- Public Attributes inherited from makVrv::DtOsgModelInstance
boost::signalslib::signal
< void(const std::string &) > 
signal_dynamicSensorRegionAdded
 
boost::signalslib::signal
< void(const std::string
&, bool) > 
signal_dynamicSensorRegionChanged
 
boost::signalslib::signal
< void(bool)> 
signal_atcModeEnableChanged
 
- Public Attributes inherited from makVrv::DtModelInstance
boost::signalslib::signal
< void(DtModelInstance *)> 
signal_modelInstanceChanged
 

Constructor & Destructor Documentation

makVrv::DtArcModelInstance::DtArcModelInstance ( DtDe de)

CTOR.

virtual makVrv::DtArcModelInstance::~DtArcModelInstance ( )
virtual

DTOR.

makVrv::DtArcModelInstance::DtArcModelInstance ( )
private

Default Constructor not implemented.

makVrv::DtArcModelInstance::DtArcModelInstance ( const DtArcModelInstance )
private

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

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

Assignment Operator not implemented - Copy not allowed.

virtual void makVrv::DtArcModelInstance::setOverlay ( unsigned int  overlayId)
virtual

Set the overlay the model will be rendered on.

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

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'
virtual void makVrv::DtArcModelInstance::setOrigin ( const DtVector position)
virtual

Set/Get the position of the arc's origin Akin to calling setPosition(0, position)

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

Set/Get the position of the arc's origin Akin to calling setPosition(0, position)

virtual void makVrv::DtArcModelInstance::setOrientation ( DtTaitBryan  orientation)
virtual

Set/Get the global orientation of the arc.

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

Set/Get the global orientation of the arc.

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

Set/Get the axis lengths of the ellipse used to draw the arc The default values are (0, 0)

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

Set/Get the axis lengths of the ellipse used to draw the arc The default values are (0, 0)

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

Set/Get the scale factor of the arc The default value is 1.

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

Set/Get the scale factor of the arc The default value is 1.

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

Set/Get whether the arc is visible The default is value is True (visible)

Implements makVrv::DtModelInstance.

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

Set/Get whether the arc is visible The default is value is True (visible)

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

Set/Get the max angle segment used when building the geometry The default value is (PI / 2) / 9.0.

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

Set/Get the max angle segment used when building the geometry The default value is (PI / 2) / 9.0.

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

Set/Get the start angle of the arc, in radians The default value is 0.

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

Set/Get the start angle of the arc, in radians The default value is 0.

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

Set/Get the end angle of the arc, in radians The default value is PI.

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

Set/Get the end angle of the arc, in radians The default value is PI.

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

Set/Get the stipple line pattern of the arc The default value is 0xFFFF (solid line).

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

Set/Get the stipple line pattern of the arc The default value is 0xFFFF (solid line).

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

Set/Get the line width of the arc Uses DtLineSegmentInterface::setWidth The default value is 1.0.

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

Set/Get the line width of the arc Uses DtLineSegmentInterface::setWidth The default value is 1.0.

virtual void makVrv::DtArcModelInstance::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. The default values are (0, 0, 0, 1)

virtual bool makVrv::DtArcModelInstance::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. The default values are (0, 0, 0, 1)

virtual void makVrv::DtArcModelInstance::setEventsEnabled ( bool  ,
unsigned long long  userData 
)
virtual

Set/Get to handle or not handle mouse events The default value is False.

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

Set/Get to handle or not handle mouse events The default value is False.

virtual void makVrv::DtArcModelInstance::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 The default value is 1.

virtual int makVrv::DtArcModelInstance::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 The default value is 1.

virtual bool makVrv::DtArcModelInstance::realize ( const DtModelDefinition definition)
virtual

Attempt to realize a definition. If the model instance can't realize the definition it should return false. This instance requires the definition be of schema "Line". This instance does not make use of the "DefaultStippleRepeat" parameter.

Reimplemented from makVrv::DtOsgModelInstance.

virtual void makVrv::DtArcModelInstance::update ( )
virtual
virtual void makVrv::DtArcModelInstance::setArcVertex ( unsigned int  index,
double  x,
double  y,
double  z 
)
protectedpure virtual

Set a vertex in myArc.

virtual double makVrv::DtArcModelInstance::calculateHeight ( const DtVector heightVertex) const
protectedpure virtual

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::DtArcModelInstance::createArcIfNecessary ( )
protectedvirtual

Create myArc according to current state.

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

Delete myArc.

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

Update the vertex colors.

Member Data Documentation

std::vector<osg::Vec3d> makVrv::DtArcModelInstance::myDefinedVertices
protected
osg::Vec3d makVrv::DtArcModelInstance::myPosition
protected
osg::Vec2d makVrv::DtArcModelInstance::myDimensions
protected
DtDcm makVrv::DtArcModelInstance::myOrientationDcm
protected
DtTaitBryan makVrv::DtArcModelInstance::myOrientationTaitBryan
protected
bool makVrv::DtArcModelInstance::myVisible
protected
double makVrv::DtArcModelInstance::myMaxAngleSegment
protected
float makVrv::DtArcModelInstance::myScale
protected
osg::Vec4 makVrv::DtArcModelInstance::myColor
protected
float makVrv::DtArcModelInstance::myLineWidth
protected
unsigned int makVrv::DtArcModelInstance::myStipplePattern
protected
double makVrv::DtArcModelInstance::myStartAngle
protected
double makVrv::DtArcModelInstance::myEndAngle
protected
DtSegmentedLine* makVrv::DtArcModelInstance::myArc
protected
int makVrv::DtArcModelInstance::myGroup
protected
unsigned int makVrv::DtArcModelInstance::myOverlay
protected
bool makVrv::DtArcModelInstance::myEventsEnabled
protected
unsigned long long makVrv::DtArcModelInstance::myUserData
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)