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

Model instance to draw a rectangular pyramid.

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

Public Member Functions

 DtRectangularPyramidModelInstance (makVrv::DtDe &de)
 
virtual ~DtRectangularPyramidModelInstance ()
 
void update ()
 
Inherited Methods
virtual void addToConnector (makVrv::DtOsgSceneConnector *connector)
 
virtual bool removeFromConnector (makVrv::DtOsgSceneConnector *connector)
 
virtual bool realize (makVrv::DtModelDefinition &definition)
 
virtual void setVisible (bool isVisible)
 
Setters
virtual void setRelativePosition (double x, double y, double z)
 
virtual void setOrientation (double yaw, double pitch, double roll)
 
virtual void setSize (double slantHeight)
 
virtual void setColor (float r, float g, float b, float a)
 
void setInnerColor (float r, float g, float b, float a)
 
void setOuterColor (float r, float g, float b, float a)
 
virtual void setXHalfAngle (double xHalfAngle)
 
virtual void setYHalfAngle (double yHalfAngle)
 
virtual void setShowLines (bool showLines)
 
virtual void setLinesHaveAlpha (bool lineAlpha)
 
- Public Member Functions inherited from makVrv::DtOsgModelInstance
virtual ~DtOsgModelInstance ()
 
virtual bool cloneInstance (DtModelDefinition &definition)
 
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

Updaters
virtual void updateGeometry ()
 
virtual void updateGeometryColors ()
 
virtual void updateGeometryWireframeState ()
 
virtual void updateGeometryTransforms ()
 
- 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)
 

Static Protected Member Functions

static void clampAngle (double &val, double minAngle, double maxAngle)
 

Protected Attributes

osg::ref_ptr
< osg::MatrixTransform > 
myTransform
 
osg::ref_ptr< osg::Group > myBlendNode
 
osg::ref_ptr< osg::Group > myWireNode
 
osg::ref_ptr< osg::Geometry > myGeometry
 
osg::ref_ptr< osg::Geode > myFrontGeode
 
osg::ref_ptr< osg::Geode > myBackGeode
 
bool myDirtyGeometry
 
bool myDirtyColors
 
bool myDirtyTransforms
 
bool myDirtyWireframe
 
osg::Vec3d myRelativePosition
 
osg::Quat myRelativeOrientation
 
osg::Vec3d myDimensions
 
double myXHalfAngle
 
double myYHalfAngle
 
int myCenterVertexIndex
 
osg::Vec4 myInnerColor
 
osg::Vec4 myOuterColor
 
bool myShowLines
 
bool myLineAlphaFlag
 
- 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
 

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::DtRectangularPyramidModelInstance::DtRectangularPyramidModelInstance ( makVrv::DtDe de)
virtual makVrv::DtRectangularPyramidModelInstance::~DtRectangularPyramidModelInstance ( )
virtual

Virtual DTOR (no-op) (OSG manages created scene objects)

Member Function Documentation

virtual void makVrv::DtRectangularPyramidModelInstance::addToConnector ( makVrv::DtOsgSceneConnector connector)
virtual

Tell the model instance to add itself to the provided node.

See Also
makVrv::DtOsgModelInstance::addToConnector( DtOsgSceneConnector* )

Reimplemented from makVrv::DtOsgModelInstance.

virtual bool makVrv::DtRectangularPyramidModelInstance::removeFromConnector ( makVrv::DtOsgSceneConnector connector)
virtual

Tell the model instance to remove itself from the provided node.

See Also
makVrv::DtOsgModelInstance::removeFromConnector( DtOsgSceneConnector* )

Reimplemented from makVrv::DtOsgModelInstance.

virtual bool makVrv::DtRectangularPyramidModelInstance::realize ( makVrv::DtModelDefinition definition)
virtual

Attempt to realize a definition.

See Also
makVrv::DtModelInstance::realize( DtModelDefinition& )

Reimplemented from makVrv::DtOsgModelInstance.

virtual void makVrv::DtRectangularPyramidModelInstance::setVisible ( bool  isVisible)
inlinevirtual
virtual void makVrv::DtRectangularPyramidModelInstance::setRelativePosition ( double  x,
double  y,
double  z 
)
virtual

Set the relative position of the rectangular pyramid Sets the position of the model instance relative to the parent node.

Parameters
xthe relative x translation
ythe relative y translation
zthe relative z translation
virtual void makVrv::DtRectangularPyramidModelInstance::setOrientation ( double  yaw,
double  pitch,
double  roll 
)
virtual

Set the relative orientation of the rectangular pyramid Sets the orientation of the model instance relative to the parent node.

Parameters
yawthe yaw, -DtTaitBryan::psi()
pitchthe pitch, DtTaitBryan::theta()
rollthe roll, DtTaitBryan::phi()
virtual void makVrv::DtRectangularPyramidModelInstance::setSize ( double  slantHeight)
virtual

Sets the size of the rectangular pyramid.

Parameters
slantHeightthe length of the pyramid's slant height.
virtual void makVrv::DtRectangularPyramidModelInstance::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets both the inside and outside colors. Sets the color of the entire rectangular pyramid.

Parameters
rthe red component of the color
gthe green component of the color
bthe blue component of the color
athe alpha component of the color
void makVrv::DtRectangularPyramidModelInstance::setInnerColor ( float  r,
float  g,
float  b,
float  a 
)

Sets the inside color. Sets the color of the internal of the rectangular pyramid.

Parameters
rthe red component of the color
gthe green component of the color
bthe blue component of the color
athe alpha component of the color
void makVrv::DtRectangularPyramidModelInstance::setOuterColor ( float  r,
float  g,
float  b,
float  a 
)

Sets the outside color. Sets the color of the external of the rectangular pyramid.

Parameters
rthe red component of the color
gthe green component of the color
bthe blue component of the color
athe alpha component of the color
virtual void makVrv::DtRectangularPyramidModelInstance::setXHalfAngle ( double  xHalfAngle)
virtual

Set the half angle amount in the x direction.

Parameters
xHalfAnglethe half-angle in the x direction.
virtual void makVrv::DtRectangularPyramidModelInstance::setYHalfAngle ( double  yHalfAngle)
virtual

Set the half angle amount in the y direction.

Parameters
yHalfAnglethe half-angle in the y direction.
virtual void makVrv::DtRectangularPyramidModelInstance::setShowLines ( bool  showLines)
virtual

Set whether the wireframe outlines are visible on the geometry Sets whether the wireframe lines for the rectangular pyramid should be drawn If set, the wireframe lines are drawn in addition to the geometry faces.

Parameters
showLineswhether the lines should be visible or hidden
virtual void makVrv::DtRectangularPyramidModelInstance::setLinesHaveAlpha ( bool  lineAlpha)
virtual

Set whether the wireframe outlines should be rendered with alpha Sets whether the alpha component of the pyramid's colors should apply to the wireframe outlines as well as the faces, or just to the faces.

Parameters
whetherthe lines should be affected by the color's alpha values.
void makVrv::DtRectangularPyramidModelInstance::update ( )

Performs periodic updates, if necessary.

virtual void makVrv::DtRectangularPyramidModelInstance::updateGeometry ( )
protectedvirtual

Builds the geometry using the defined parameters in myParameters Updates the vertices and faces used to render the rectangular pyramid arc model then updates the geometry's colors.

virtual void makVrv::DtRectangularPyramidModelInstance::updateGeometryColors ( )
protectedvirtual

Updates the color(s) of the sphere Updates the colors of the vertices on the pyramid model's geometry or sets the dirtyColors flag if lockUpdates is set.

virtual void makVrv::DtRectangularPyramidModelInstance::updateGeometryWireframeState ( )
protectedvirtual

Updates the state of the geometry's wireframe Updates the visibility / alpha state of the geometry's wireframe.

virtual void makVrv::DtRectangularPyramidModelInstance::updateGeometryTransforms ( )
protectedvirtual

Updates the scaling and location applied to the sphere Updates the scaling applied to the model (the rectangular pyramid model's dimensions)

static void makVrv::DtRectangularPyramidModelInstance::clampAngle ( double val,
double  minAngle,
double  maxAngle 
)
staticprotected

Clamps the given angle value to the given range.

Parameters
valreference to variable containing the angle to clamp.
minAnglethe min angle the clamped value is allowed to have.
maxAnglethe max angle the clamped value is allowed to have.

Member Data Documentation

osg::ref_ptr<osg::MatrixTransform> makVrv::DtRectangularPyramidModelInstance::myTransform
protected
osg::ref_ptr<osg::Group> makVrv::DtRectangularPyramidModelInstance::myBlendNode
protected
osg::ref_ptr<osg::Group> makVrv::DtRectangularPyramidModelInstance::myWireNode
protected
osg::ref_ptr<osg::Geometry> makVrv::DtRectangularPyramidModelInstance::myGeometry
protected
osg::ref_ptr<osg::Geode> makVrv::DtRectangularPyramidModelInstance::myFrontGeode
protected
osg::ref_ptr<osg::Geode> makVrv::DtRectangularPyramidModelInstance::myBackGeode
protected
bool makVrv::DtRectangularPyramidModelInstance::myDirtyGeometry
protected
bool makVrv::DtRectangularPyramidModelInstance::myDirtyColors
protected
bool makVrv::DtRectangularPyramidModelInstance::myDirtyTransforms
protected
bool makVrv::DtRectangularPyramidModelInstance::myDirtyWireframe
protected
osg::Vec3d makVrv::DtRectangularPyramidModelInstance::myRelativePosition
protected
osg::Quat makVrv::DtRectangularPyramidModelInstance::myRelativeOrientation
protected
osg::Vec3d makVrv::DtRectangularPyramidModelInstance::myDimensions
protected
double makVrv::DtRectangularPyramidModelInstance::myXHalfAngle
protected
double makVrv::DtRectangularPyramidModelInstance::myYHalfAngle
protected
int makVrv::DtRectangularPyramidModelInstance::myCenterVertexIndex
protected
osg::Vec4 makVrv::DtRectangularPyramidModelInstance::myInnerColor
protected
osg::Vec4 makVrv::DtRectangularPyramidModelInstance::myOuterColor
protected
bool makVrv::DtRectangularPyramidModelInstance::myShowLines
protected
bool makVrv::DtRectangularPyramidModelInstance::myLineAlphaFlag
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)