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

The base class for simple OSG based model instances. This call can't be instantiated itself.

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

Public Types

enum  AlphaToCoverageState { USE_GLOBAL, FORCE_OFF, FORCE_ON }
 

Public Member Functions

virtual ~DtOsgModelInstance ()
 
virtual bool realize (const DtModelDefinition &definition)
 
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
 
- 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
 
virtual void setVisible (bool isVisible)=0
 

Protected Member Functions

 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

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
 
typedef std::unordered_map
< std::string, bool
SensorRegionStateMap
 
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
 
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 ()
 

Additional Inherited Members

- 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::DtModelInstance
boost::signalslib::signal
< void(DtModelInstance *)> 
signal_modelInstanceChanged
 

Member Typedef Documentation

typedef std::unordered_map<std::string, bool> makVrv::DtOsgModelInstance::SensorRegionStateMap

Dynamic Sensor Region methods.

How Dynamic Sensor Region states are stored

Member Enumeration Documentation

The possible states of a control point.

Enumerator
USE_GLOBAL 
FORCE_OFF 
FORCE_ON 

Constructor & Destructor Documentation

virtual makVrv::DtOsgModelInstance::~DtOsgModelInstance ( )
virtual

DTOR.

makVrv::DtOsgModelInstance::DtOsgModelInstance ( DtDe de)
protected

CTOR.

Member Function Documentation

virtual bool makVrv::DtOsgModelInstance::realize ( const DtModelDefinition definition)
virtual
virtual bool makVrv::DtOsgModelInstance::cloneInstance ( const DtModelDefinition definition)
virtual

Attempt to clone the basic geometry. Can be done in the background. If the model instance can't clone the definition it should return false.

Reimplemented from makVrv::DtModelInstance.

Reimplemented in makVrv::DtOsgSimpleModelInstance.

virtual void makVrv::DtOsgModelInstance::addToConnector ( DtOsgSceneConnector connector)
virtual
virtual bool makVrv::DtOsgModelInstance::removeFromConnector ( DtOsgSceneConnector connector)
virtual
virtual osg::Node* makVrv::DtOsgModelInstance::rootNode ( )
virtual

Get the model instance's root node.

Reimplemented in makVrv::DtExtrudedModelInstance.

virtual const osg::Node* makVrv::DtOsgModelInstance::rootNode ( ) const
virtual

Get the model instance's root node.

virtual osg::Node* makVrv::DtOsgModelInstance::sensorNode ( )
virtual

Get the model instance's sensor node, .

Reimplemented in makVrv::DtRibbonModelInstance, and makVrv::DtDiGuyModelInstance.

virtual const osg::Node* makVrv::DtOsgModelInstance::sensorNode ( ) const
virtual

Get the model instance's sensor node, .

Reimplemented in makVrv::DtRibbonModelInstance, and makVrv::DtDiGuyModelInstance.

virtual bool makVrv::DtOsgModelInstance::saveModelToFile ( const std::string &  filename) const
virtual

Attempt to save the model to a file.

Reimplemented from makVrv::DtModelInstance.

virtual void makVrv::DtOsgModelInstance::enableColorBlending ( bool  b)
virtual

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. It should not be set to true if the model has instancing enabled.

Reimplemented from makVrv::DtModelInstance.

Reimplemented in makVrv::DtPolygonModelInstance.

virtual void makVrv::DtOsgModelInstance::setBlendColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

set the model's color

Reimplemented from makVrv::DtModelInstance.

virtual void makVrv::DtOsgModelInstance::enableTexture ( bool  onOff)
virtual
virtual void makVrv::DtOsgModelInstance::setDynamicSensorRegion ( const std::string &  region,
bool  state 
)
virtual

Set the state of an active region.

virtual bool makVrv::DtOsgModelInstance::dynamicSensorRegion ( const std::string &  region)
virtual

Get the current state of the specified sensor region.

virtual const SensorRegionStateMap& makVrv::DtOsgModelInstance::dynamicSensorRegionMap ( ) const
virtual

Get the map containing all regions and their current states.

virtual void makVrv::DtOsgModelInstance::slot_atcGlobalModelEnableChanged ( )
virtual

Slot to handle the global alpha to coverage signal for entities.

Reimplemented in makVrv::DtScribeBoxModelInstance.

virtual bool makVrv::DtOsgModelInstance::alphaToCoverageEnabled ( )
virtual

Get the current setting for alpha to coverage for this model.

virtual void makVrv::DtOsgModelInstance::updateColorBlending ( )
protectedvirtual

calls update color blending with the model root. Override to use a different root

virtual void makVrv::DtOsgModelInstance::updateColorBlending ( osg::Node *  node)
protectedvirtual
virtual void makVrv::DtOsgModelInstance::enableTexture ( osg::Node *  root,
bool  onOff 
)
protectedvirtual
virtual void makVrv::DtOsgModelInstance::updateBoundingBoxViaContents ( )
protectedvirtual

Reimplemented in makVrv::DtDiGuyModelInstance.

virtual void makVrv::DtOsgModelInstance::setRootNode ( osg::Node *  node)
protectedvirtual

Set the model instance's root node.

Reimplemented in makVrv::DtDiGuyModelInstance.

virtual void makVrv::DtOsgModelInstance::setUpDepthTest ( osg::StateSet *  stateSet)
protectedvirtual

Helper function to set up a depth test on a state set taking into account whether reverse z is enabled or not.

Member Data Documentation

boost::signalslib::signal< void(const std::string&) > makVrv::DtOsgModelInstance::signal_dynamicSensorRegionAdded

Signal raised when a dynamic sensor region is added.

boost::signalslib::signal< void(const std::string&, bool) > makVrv::DtOsgModelInstance::signal_dynamicSensorRegionChanged

Signal raised when a dynamic sensor region's state changes.

boost::signalslib::signal<void(bool)> makVrv::DtOsgModelInstance::signal_atcModeEnableChanged

Signal raised when alpha to coverage for this model is changed.

osg::ref_ptr<osg::Node> makVrv::DtOsgModelInstance::myModelRoot
protected
osg::ref_ptr<osg::StateSet> makVrv::DtOsgModelInstance::myCachedState
protected
SensorRegionStateMap makVrv::DtOsgModelInstance::mySensorRegionMap
protected
AlphaToCoverageState makVrv::DtOsgModelInstance::myAlphaToCoverageState
protected
DtSignalConnectionManager makVrv::DtOsgModelInstance::myConnections
protected
bool makVrv::DtOsgModelInstance::myModelInstanceShaderSet
protected

Has this model instance had a shader generated for it? Used for classes (ex. Dt3DSegmentedLineModelInstance) which call DtOsgShaderUtils::generateModelInstanceShaders.


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)