VR-Forces 5.0.1 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::DtEllipsoidModelInstance Class Reference

The model instance to draw an ellipsoid.

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

Public Member Functions

 DtEllipsoidModelInstance (DtDe &de)
 
virtual ~DtEllipsoidModelInstance ()
 
virtual void setDimensions (float length, float width, float height)
 
virtual void dimensions (float &length, float &width, float &height)
 
virtual void setColor (float r, float g, float b, float a)
 
virtual void setColor (const osg::Vec4 &color)
 
const osg::Vec4 & color () const
 
virtual void setLightingEnabled (bool enabled)
 
virtual bool realize (DtModelDefinition &definition)
 
virtual void setVisible (bool isVisible)
 
- Public Member Functions inherited from makVrv::DtOsgModelInstance
virtual ~DtOsgModelInstance ()
 
virtual bool cloneInstance (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 ()
 
virtual void registerLightPoints (const std::string &groupName, bool daylightControlledLights)
 
- 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 updateColors ()
 
virtual void updateTransform ()
 
void createBlendedGeodes ()
 
void createOpaqueGeode ()
 
void createSingleSidedBlendedGeode ()
 
- 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

osg::Vec3 myDimensions
 
osg::Vec4 myColor
 
osg::ref_ptr< osg::ShapeDrawable > myEllipsoidDrawable
 
osg::ref_ptr< osg::Geode > myGeode
 
osg::ref_ptr< osg::Geode > myBlendedGeode
 
osg::ref_ptr< osg::Geode > myFrontGeode
 
osg::ref_ptr< osg::Geode > myBackGeode
 
osg::ref_ptr
< osg::MatrixTransform > 
myTransform
 
osg::ref_ptr< osg::Material > myMaterial
 
bool mySingleSided
 
- 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

 DtEllipsoidModelInstance ()
 
 DtEllipsoidModelInstance (const DtEllipsoidModelInstance &)
 
DtEllipsoidModelInstanceoperator= (const DtEllipsoidModelInstance &)
 

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::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::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::DtEllipsoidModelInstance::DtEllipsoidModelInstance ( DtDe de)

CTOR.

virtual makVrv::DtEllipsoidModelInstance::~DtEllipsoidModelInstance ( )
virtual

DTOR.

makVrv::DtEllipsoidModelInstance::DtEllipsoidModelInstance ( )
private

Default Constructor not implemented.

makVrv::DtEllipsoidModelInstance::DtEllipsoidModelInstance ( const DtEllipsoidModelInstance )
private

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

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

Assignment Operator not implemented - Copy not allowed.

virtual void makVrv::DtEllipsoidModelInstance::setDimensions ( float  length,
float  width,
float  height 
)
virtual

Set the dimensions of the Ellipsoid.

virtual void makVrv::DtEllipsoidModelInstance::dimensions ( float &  length,
float &  width,
float &  height 
)
virtual

Get the dimensions of the Ellipsoid.

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

Set the color of the Ellipsoid.

virtual void makVrv::DtEllipsoidModelInstance::setColor ( const osg::Vec4 &  color)
virtual

Set the color of the Ellipsoid.

const osg::Vec4& makVrv::DtEllipsoidModelInstance::color ( ) const

Get the color of the model instance.

virtual void makVrv::DtEllipsoidModelInstance::setLightingEnabled ( bool  enabled)
virtual

Set lighting enabled or disabled (default disabled)

virtual bool makVrv::DtEllipsoidModelInstance::realize ( 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 "Ellipsoid".

Reimplemented from makVrv::DtOsgModelInstance.

virtual void makVrv::DtEllipsoidModelInstance::setVisible ( bool  isVisible)
inlinevirtual

no-op

Implements makVrv::DtModelInstance.

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

Update the color in the material.

virtual void makVrv::DtEllipsoidModelInstance::updateTransform ( )
protectedvirtual

Update the transform matrix of the ellipsoid.

void makVrv::DtEllipsoidModelInstance::createBlendedGeodes ( )
protected

Creates the geodes needed when doing alpha blending.

void makVrv::DtEllipsoidModelInstance::createOpaqueGeode ( )
protected

Creates the geodes when NOT doing alpha blending.

void makVrv::DtEllipsoidModelInstance::createSingleSidedBlendedGeode ( )
protected

Creates the geode when single sided and alpha blending.

Member Data Documentation

osg::Vec3 makVrv::DtEllipsoidModelInstance::myDimensions
protected

The current parameter set.

osg::Vec4 makVrv::DtEllipsoidModelInstance::myColor
protected
osg::ref_ptr<osg::ShapeDrawable> makVrv::DtEllipsoidModelInstance::myEllipsoidDrawable
protected
osg::ref_ptr<osg::Geode> makVrv::DtEllipsoidModelInstance::myGeode
protected

Geode to draw the geometry when no blending is required.

osg::ref_ptr<osg::Geode> makVrv::DtEllipsoidModelInstance::myBlendedGeode
protected

Geode to draw the geometry when single-sided blending is required.

osg::ref_ptr<osg::Geode> makVrv::DtEllipsoidModelInstance::myFrontGeode
protected

Geode to draw the geometry with backface culling.

osg::ref_ptr<osg::Geode> makVrv::DtEllipsoidModelInstance::myBackGeode
protected

Geode to draw the geometry with frontface culling.

osg::ref_ptr<osg::MatrixTransform> makVrv::DtEllipsoidModelInstance::myTransform
protected

My tranform.

osg::ref_ptr<osg::Material> makVrv::DtEllipsoidModelInstance::myMaterial
protected

My Material.

bool makVrv::DtEllipsoidModelInstance::mySingleSided
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)