VR-Forces 4.8 Class Documentation
 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. More...

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

Public Member Functions

 DtArcModelInstance (DtDe &de)
 CTOR. More...
 
virtual ~DtArcModelInstance ()
 DTOR. More...
 
virtual void setOverlay (unsigned int overlayId)
 Set the overlay the model will be rendered on. More...
 
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of a vertex in the arc When vtx is 0,. More...
 
virtual bool realize (DtModelDefinition &definition)
 Attempt to realize a definition. More...
 
virtual void update ()
 
virtual void setOrigin (const DtVector &position)
 Set/Get the position of the arc's origin Akin to calling setPosition(0, position) More...
 
virtual DtVector origin () const
 
virtual void setOrientation (DtTaitBryan orientation)
 Set/Get the global orientation of the arc. More...
 
virtual DtTaitBryan orientation () const
 
virtual void setDimensions (double x, double y)
 Set/Get the axis lengths of the ellipse used to draw the arc The default values are (0, 0) More...
 
virtual bool getDimensions (double &x, double &y) const
 
virtual void setScale (float scale)
 Set/Get the scale factor of the arc The default value is 1. More...
 
virtual float scale () const
 
virtual void setVisible (bool isVisible)
 Set/Get whether the arc is visible The default is value is True (visible) More...
 
virtual bool isVisible () const
 
virtual void setMaxAngleSegment (double angleSegmentMax)
 Set/Get the max angle segment used when building the geometry The default value is (PI / 2) / 9.0. More...
 
virtual double maxAngleSegment () const
 
virtual void setStartAngle (double startAngle)
 Set/Get the start angle of the arc, in radians The default value is 0. More...
 
virtual double startAngle () const
 
virtual void setEndAngle (double endAngle)
 Set/Get the end angle of the arc, in radians The default value is PI. More...
 
virtual double endAngle () const
 
virtual void setStipplePattern (unsigned int stipplePattern)
 Set/Get the stipple line pattern of the arc The default value is 0xFFFF (solid line). More...
 
virtual unsigned int stipplePattern () const
 
virtual void setLineWidth (float width)
 Set/Get the line width of the arc Uses DtLineSegmentInterface::setWidth The default value is 1.0. More...
 
virtual float lineWidth () const
 
virtual void setColor (float r, float g, float b, float a)
 Set/Get the color of the arc Valid range for argument values are 0.0 - 1.0. More...
 
virtual bool getColor (float &r, float &g, float &b, float &a) const
 
virtual void setEventsEnabled (bool, unsigned long long userData)
 Set/Get to handle or not handle mouse events The default value is False. More...
 
virtual bool eventsEnabled () const
 
virtual void setGroup (int groupNum)
 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. More...
 
virtual int group () const
 
- Public Member Functions inherited from makVrv::DtOsgModelInstance
virtual ~DtOsgModelInstance ()
 DTOR. More...
 
virtual bool cloneInstance (DtModelDefinition &definition)
 Attempt to clone the basic geometry. More...
 
virtual void addToConnector (DtOsgSceneConnector *connector)
 Brief Tell the model instance to add itself to the provided node. More...
 
virtual bool removeFromConnector (DtOsgSceneConnector *connector)
 Brief Tell the model instance to remove itself from the provided node. More...
 
virtual bool saveModelToFile (const std::string &filename) const
 Attempt to save the model to a file. More...
 
virtual void enableColorBlending (bool b)
 Enable / disable coloring on all models in the scene object Note about enableColorBlending: If this particular model has instancing enabled then this flag is set to false and color blending is handled by the instance manager. More...
 
virtual void setBlendColor (float r, float g, float b, float a)
 set the model's color More...
 
virtual void enableTexture (bool onOff)
 
virtual osg::Node * rootNode ()
 Get the model instance's root node. More...
 
virtual const osg::Node * rootNode () const
 
virtual osg::Node * sensorNode ()
 Get the model instance's sensor node, . More...
 
virtual const osg::Node * sensorNode () const
 
virtual void addDynamicSensorRegion (const std::string &region)
 Add an active region state. More...
 
virtual void setDynamicSensorRegion (const std::string &region, bool state)
 Set the state of an active region. More...
 
virtual bool dynamicSensorRegion (const std::string &region)
 Get the current state of the specified sensor region. More...
 
SensorRegionStateMap const dynamicSensorRegionMap () const
 Get the map containing all regions and their current states. More...
 
virtual void slot_atcGlobalModelEnableChanged ()
 Slot to handle the global alpha to coverage signal for entities. More...
 
virtual bool alphaToCoverageEnabled ()
 Get the current setting for alpha to coverage for this model. More...
 
virtual void registerLightPoints (const std::string &groupName, bool daylightControlledLights)
 loop over all this models light points and register them with the light point manager daylightControlled is only used if the light points do not already have a type specified More...
 
- Public Member Functions inherited from makVrv::DtModelInstance
 DtModelInstance (DtDe &de)
 CTOR. More...
 
virtual ~DtModelInstance ()
 DTOR. More...
 
const std::string & realizedDefinitionName () const
 Get the name of the definition that this model instance was realized with. More...
 
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance. More...
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance. More...
 
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance. More...
 
void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance. More...
 
void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the bounding box min/max of the model instance. More...
 
const DtVectorallGeometryboundingBoxExtents () const
 functions for getting the allGeometry versions of the extents (they are calculated by traversing as if all switch paths are active) More...
 
void getAllGeometryBoundingBoxExtents (double &x, double &y, double &z) const
 Get the all geometry version of bounding box extents of the model instance. More...
 
const DtVectorallGeometryboundingBoxCenter () const
 Get the all geometry version of bounding box center of the model instance. More...
 
void getAllGeometryBoundingBoxCenter (double &x, double &y, double &z) const
 Get the all geometry version of bounding box center of the model instance. More...
 
void getAllGeometryBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the all geometry version of bounding box min/max of the model instance. More...
 
virtual void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume. More...
 
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume. More...
 

Protected Member Functions

virtual void setArcVertex (unsigned int index, double x, double y, double z)=0
 Set a vertex in myArc. More...
 
virtual double calculateHeight (const DtVector &heightVertex) const =0
 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. More...
 
virtual void createArcIfNecessary ()
 Create myArc according to current state. More...
 
virtual void deleteArc ()
 Delete myArc. More...
 
virtual void updateColors ()
 Update the vertex colors. More...
 
- Protected Member Functions inherited from makVrv::DtOsgModelInstance
virtual void updateColorBlending ()
 calls update color blending with the model root. More...
 
virtual void updateColorBlending (osg::Node *node)
 
virtual void enableTexture (osg::Node *root, bool onOff)
 
virtual void updateBoundingBoxViaContents ()
 
 DtOsgModelInstance (DtDe &de)
 CTOR. More...
 
virtual void setRootNode (osg::Node *node)
 Set the model instance's root node. More...
 

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
 Has this model instance had a shader generated for it? Used for classes (ex. More...
 
- 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 ()
 Default Constructor not implemented. More...
 
 DtArcModelInstance (const DtArcModelInstance &)
 Copy Constructor not implemented - Copy not allowed. More...
 
DtArcModelInstanceoperator= (const DtArcModelInstance &)
 Assignment Operator not implemented - Copy not allowed. More...
 

Additional Inherited Members

- Public Types inherited from makVrv::DtOsgModelInstance
enum  AlphaToCoverageState { USE_GLOBAL, FORCE_OFF, FORCE_ON }
 The possible states of a control point. More...
 
typedef boost::unordered_map
< std::string, bool
SensorRegionStateMap
 Dynamic Sensor Region methods. More...
 
- Static Public Member Functions inherited from makVrv::DtOsgModelInstance
static osg::Vec4 readVec4 (const std::string &paramName, const DtModelDefinition &definition, const osg::Vec4 &initValue=osg::Vec4(1, 1, 1, 1))
 
static osg::Vec3 readVec3 (const std::string &paramName, const DtModelDefinition &definition, const osg::Vec3 &initValue=osg::Vec3(1, 1, 1))
 
- 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)
 
- Public Attributes inherited from makVrv::DtOsgModelInstance
boost::signal< void(const
std::string &) > 
signal_dynamicSensorRegionAdded
 Signal raised when a dynamic sensor region is added. More...
 
boost::signal< void(const
std::string &, bool) > 
signal_dynamicSensorRegionChanged
 Signal raised when a dynamic sensor region's state changes. More...
 
boost::signal< void(bool)> signal_atcModeEnableChanged
 Signal raised when alpha to coverage for this model is changed. More...
 
- Public Attributes inherited from makVrv::DtModelInstance
boost::signal< void(DtModelInstance *)> signal_modelInstanceChanged
 

Detailed Description

Interface for an Arc Model instance.

An arc with the following geometric parameters:

An arc with the following geometric parameters:

Special Considerations:

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

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
virtual void makVrv::DtArcModelInstance::setOrientation ( DtTaitBryan  orientation)
virtual

Set/Get the global orientation of the arc.

virtual DtTaitBryan makVrv::DtArcModelInstance::orientation ( ) const
virtual
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
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
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
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
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
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
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
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
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
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
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
virtual bool makVrv::DtArcModelInstance::realize ( DtModelDefinition definition)
virtual

Attempt to realize a definition.

If the model instance can't realize the definition it should return false.

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.

Implemented in makVrv::DtOverlayArcModelInstance, and makVrv::DtWindowArcInstance.

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.

Implemented in makVrv::DtOverlayArcModelInstance, and makVrv::DtWindowArcInstance.

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

Create myArc according to current state.

Reimplemented in makVrv::DtOverlayArcModelInstance.

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

Delete myArc.

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

Update the vertex colors.

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

Assignment Operator not implemented - Copy not allowed.

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 Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)