VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Protected Attributes
makVrv::DtAttachableEllipsoidArcModelInstance Class Reference

Model instance to draw a EllipsoidArc. More...

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

Classes

struct  EllipsoidArcRange
 Simple struct for storing an arc range (center/sweep) More...
struct  SphericalQuad
 Structure to hold a quad in spherical coordinates during geometry construction. More...
struct  SphericalVertex
 Structure to hold a vertex in spherical coordinates during geometry construction. More...
struct  Triangle
 Structure to hold triangles in spherical coordinates while building the geometry. More...
struct  VertexCache
 Caches the cartesian version of spherical vertices and their normals into the specified arrays. More...

Public Member Functions

Inherited Methods
 DtAttachableEllipsoidArcModelInstance (DtDe &de)
 CTOR Instantiates a new DtAttachableEllipsoidArcModelInstance.
virtual ~DtAttachableEllipsoidArcModelInstance ()
 Virtual DTOR (no-op) (OSG manages created scene objects)
virtual void addToConnector (DtOsgSceneConnector *connector)
 Tell the model instance to add itself to the provided node.
virtual bool removeFromConnector (DtOsgSceneConnector *connector)
 Tell the model instance to remove itself from the provided node.
virtual bool realize (DtModelDefinition &definition)
 Attempt to realize a definition.
virtual void setVisible (bool isVisible)
 no-op
Setters
virtual void setRelativePosition (double x, double y, double z)
 Set the relative position of the ellipsoid Sets the position of the model instance relative to the parent node.
virtual void setOrientation (double yaw, double pitch, double roll)
 Set the relative orientation of the ellipsoid Sets the orientation of the model instance relative to the parent node.
virtual void setDimensions (double x, double y, double z)
 Set the lengths of the ellipsoid's axes Sets the length of the ellipsoid's axes.
virtual void setColor (float r, float g, float b, float a)
 Sets both the inside and outside colors Sets the color of the entire ellipsoid arc.
virtual void setInsideColor (float r, float g, float b, float a)
 Sets the color of the center point of the sphere Sets the inner color of the ellipsoid arc Note: This color is not visible if the ellipsoid is a full ellipse (as there is no center vertex)
virtual void setOutsideColor (float r, float g, float b, float a)
 Sets the color of the outer points on the sphere Sets the outer color of the ellipsoid arc.
virtual void setAzimuthRange (float azimuthCenter, float azimuthSweep)
 Set the azimuth range of the ellipsoid arc Sets the ellipsoid arc's azimuth range.
virtual void setElevationRange (float elevationCenter, float elevationSweep)
 Set the elevation range of the ellipsoid arc Sets the ellipsoid arc's elevation range.
virtual void setMaxAngleSegment (float angleSegmentMax)
 Set the max angle segment used when building the geometry Sets the max angle segment between sample points along the azimuth/elevation when generating the geometry.
virtual void setShowLines (bool showLines)
 Set whether the wireframe outlines are visible on the geometry Sets whether the wireframe lines for the ellipsoid arc should be drawn If set, the wireframe lines are drawn in addition to the geometry faces.
virtual void setLinesHaveAlpha (bool lineAlpha)
 Set whether the wireframe outlines should be rendered with alpha Sets whether the alpha component of the ellipsoid's colors should apply to the wireframe outlines as well as the faces, or just to the faces.
virtual void setLockUpdates (bool lock)
 Signals whether dirty flags should be used so updates are only applied on unlock Sets the lockUpdates flag to the given value.
- Public Member Functions inherited from makVrv::DtOsgModelInstance
virtual ~DtOsgModelInstance ()
 DTOR.
virtual bool saveModelToFile (const std::string &filename) const
 Attempt to save the model to a file.
virtual void enableColorBlending (bool b)
 Enable / disable coloring on all models in the scene object.
virtual void setBlendColor (float r, float g, float b, float a)
 set the model's color
virtual void enableTexture (bool onOff)
virtual osg::Node * rootNode ()
 Get the model instance's root node.
virtual const osg::Node * rootNode () const
 Get the model instance's root node.
virtual osg::Node * sensorNode ()
 Get the model instance's sensor node, .
virtual const osg::Node * sensorNode () const
 Get the model instance's sensor node, .
virtual void addDynamicSensorRegion (const std::string &region)
 Add an active region state.
virtual void setDynamicSensorRegion (const std::string &region, bool state)
 Set the state of an active region.
virtual bool dynamicSensorRegion (const std::string &region)
 Get the current state of the specified sensor region.
SensorRegionStateMap const dynamicSensorRegionMap () const
 Get the map containing all regions and their current states.
- Public Member Functions inherited from makVrv::DtModelInstance
 DtModelInstance (DtDe &de)
 CTOR.
virtual ~DtModelInstance ()
 DTOR.
const std::string & realizedDefinitionName () const
 Get the name of the definition that this model instance was realized with.
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance.
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance.
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance.
void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance.
void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
virtual void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume.
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume.

Protected Member Functions

Updaters
virtual void updateGeometry ()
 Builds the geometry using the defined parameters in myParameters Updates the vertices and faces used to render the ellipsoid arc model then updates the geometry's colors.
virtual void updateGeometryColors ()
 Updates the color(s) of the sphere Updates the colors of the vertices on the ellipsoid arc model's geometry or sets the dirtyColors flag if lockUpdates is set.
virtual void updateGeometryWireframeState ()
 Updates the state of the geometry's wireframe Updates the visibility / alpha state of the geometry's wireframe Called if any of the following methods are called:
virtual void updateGeometryTransforms ()
 Updates the scaling and location applied to the sphere Updates the scaling applied to the model (the ellipsoid arc model's dimensions) Called if any of the following methods are called:
Vertex Utilities
double angularDistance (double from, double to)
 Computes the distance between two angles Computes the angle between two reference angles Counts in the clockwise direction.
- Protected Member Functions inherited from makVrv::DtOsgModelInstance
virtual void updateColorBlending ()
 calls update color blending with the model root.
virtual void updateColorBlending (osg::Node *node)
virtual void enableTexture (osg::Node *root, bool onOff)
virtual void updateBoundingBoxViaContents ()
 DtOsgModelInstance (DtDe &de)
 CTOR.
virtual void setRootNode (osg::Node *node)
 Set the model instance's root node.

Protected Attributes

osg::ref_ptr
< osg::MatrixTransform > 
myTransform
 The offset and scale transform.
osg::ref_ptr< osg::Group > myBlendNode
 The blending node for the geometry.
osg::ref_ptr< osg::Group > myWireNode
 The wireframe node for the geometry.
osg::ref_ptr< osg::Geometry > myGeometry
 The model instance's geometry.
osg::ref_ptr< osg::Geode > myFrontGeode
 The front facing geometry geode.
osg::ref_ptr< osg::Geode > myBackGeode
 The back facing geometry geode.
int myCenterVertexIndex
bool myLockUpdates
 Flag indicating changes colors and geometry should be postponed.
bool myDirtyGeometry
 Flag indicating the geometry changed and must be regenerated.
bool myDirtyColors
 Flag indicating the colors changed and must be updated.
osg::Vec3d myRelativePosition
 Relative position offset.
osg::Quat myRelativeOrientation
 Relative orientation.
osg::Vec3d myDimensions
 Axis dimensions.
EllipsoidArcRange myAzimuthRange
 Azimuth range (center/sweep)
EllipsoidArcRange myElevationRange
 Elevation range (center/sweep)
osg::Vec4 myInsideColor
 Color at the center of the sphere.
osg::Vec4 myOutsideColor
 Color on the external points of the sphere.
bool myShowLines
 Whether or not to display the emitter volume outline lines.
bool myLineAlphaFlag
 Whether the outline lines have alpha or not.
float myAngleSegmentMax
 The max angle used to sample the emitter volume (in degrees)
bool myFlashing
 Like HTML blink.
- Protected Attributes inherited from makVrv::DtOsgModelInstance
osg::ref_ptr< osg::Node > myModelRoot
osg::ref_ptr< osg::StateSet > myCachedState
SensorRegionStateMap mySensorRegionMap
- Protected Attributes inherited from makVrv::DtModelInstance
DtDemyDe
std::string myRealizedModelDefinitionName
DtVector myBoundingBoxCenter
DtVector myBoundingBoxExtents
DtVector myBoundingBoxMinimum
DtVector myBoundingBoxMaximum
bool myContributesToBound
bool myColorBlendingEnabled
float myBlendRed
float myBlendBlue
float myBlendGreen
float myBlendAlpha

Additional Inherited Members

- Public Types inherited from makVrv::DtOsgModelInstance
typedef boost::unordered_map
< std::string, bool
SensorRegionStateMap
 Dynamic Sensor Region methods.
- Static Public Member Functions inherited from makVrv::DtOsgModelInstance
static osg::Vec4 readVec4 (const std::string &paramName, const DtModelDefinition &definition)
static osg::Vec3 readVec3 (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.
boost::signal< void(const
std::string &, bool) > 
signal_dynamicSensorRegionChanged
 Signal raised when a dynamic sensor region's state changes.
- Public Attributes inherited from makVrv::DtModelInstance
boost::signal< void(DtModelInstance *)> signal_modelInstanceChanged

Detailed Description

Model instance to draw a EllipsoidArc.

Constructor & Destructor Documentation

makVrv::DtAttachableEllipsoidArcModelInstance::DtAttachableEllipsoidArcModelInstance ( DtDe de)
virtual makVrv::DtAttachableEllipsoidArcModelInstance::~DtAttachableEllipsoidArcModelInstance ( )
virtual

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

Member Function Documentation

virtual void makVrv::DtAttachableEllipsoidArcModelInstance::addToConnector ( 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::DtAttachableEllipsoidArcModelInstance::removeFromConnector ( 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::DtAttachableEllipsoidArcModelInstance::realize ( DtModelDefinition definition)
virtual

Attempt to realize a definition.

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

Reimplemented from makVrv::DtModelInstance.

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

Set the relative position of the ellipsoid 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::DtAttachableEllipsoidArcModelInstance::setOrientation ( double  yaw,
double  pitch,
double  roll 
)
virtual

Set the relative orientation of the ellipsoid 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::DtAttachableEllipsoidArcModelInstance::setDimensions ( double  x,
double  y,
double  z 
)
virtual

Set the lengths of the ellipsoid's axes Sets the length of the ellipsoid's axes.

Parameters
xthe length of the ellipsoid's x axis
ythe length of the ellipsoid's y axis
zthe length of the ellipsoid's z axis
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets both the inside and outside colors Sets the color of the entire ellipsoid arc.

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::DtAttachableEllipsoidArcModelInstance::setInsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets the color of the center point of the sphere Sets the inner color of the ellipsoid arc Note: This color is not visible if the ellipsoid is a full ellipse (as there is no center vertex)

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::DtAttachableEllipsoidArcModelInstance::setOutsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Sets the color of the outer points on the sphere Sets the outer color of the ellipsoid arc.

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::DtAttachableEllipsoidArcModelInstance::setAzimuthRange ( float  azimuthCenter,
float  azimuthSweep 
)
virtual

Set the azimuth range of the ellipsoid arc Sets the ellipsoid arc's azimuth range.

Parameters
azimuthCenterthe angle of the center of the azimuth's range
azimuthSweepthe angle from the center to the ends of the azimuth range
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::setElevationRange ( float  elevationCenter,
float  elevationSweep 
)
virtual

Set the elevation range of the ellipsoid arc Sets the ellipsoid arc's elevation range.

Parameters
elevationCenterthe angle of the center of the elevation's range
elevationSweepthe angle from the center to the ends of the elevation range
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::setMaxAngleSegment ( float  angleSegmentMax)
virtual

Set the max angle segment used when building the geometry Sets the max angle segment between sample points along the azimuth/elevation when generating the geometry.

Parameters
angleSegmentMaxthe max angle segment between sample points
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::setShowLines ( bool  showLines)
virtual

Set whether the wireframe outlines are visible on the geometry Sets whether the wireframe lines for the ellipsoid arc 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::DtAttachableEllipsoidArcModelInstance::setLinesHaveAlpha ( bool  lineAlpha)
virtual

Set whether the wireframe outlines should be rendered with alpha Sets whether the alpha component of the ellipsoid'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.
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::setLockUpdates ( bool  lock)
virtual

Signals whether dirty flags should be used so updates are only applied on unlock Sets the lockUpdates flag to the given value.

If true, this indicates that the dirty flag for each update ( geometry / colors ) should be set instead of updating immediately. The dirty flags will be updated when lockUpdates is set back to false ( ie. when setLockUpdates(false) is called ). This should be used if multiple update calls are being called in a row.

Parameters
lockthe new value for the lockUpdates flag
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::updateGeometry ( )
protectedvirtual

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

Called if any of the following methods are called:

See Also
makVrv::DtAttachableEllipsoidArcModelInstance::updateGeometryColors()
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::updateGeometryColors ( )
protectedvirtual

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

Called if any of the following methods are called:

See Also
makVrv::DtAttachableEllipsoidArcModelInstance::updateGeometry()
virtual void makVrv::DtAttachableEllipsoidArcModelInstance::updateGeometryWireframeState ( )
protectedvirtual

Updates the state of the geometry's wireframe Updates the visibility / alpha state of the geometry's wireframe Called if any of the following methods are called:

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

Updates the scaling and location applied to the sphere Updates the scaling applied to the model (the ellipsoid arc model's dimensions) Called if any of the following methods are called:

double makVrv::DtAttachableEllipsoidArcModelInstance::angularDistance ( double  from,
double  to 
)
protected

Computes the distance between two angles Computes the angle between two reference angles Counts in the clockwise direction.

Parameters
fromthe first reference angle
tothe second reference angle

Member Data Documentation

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

The offset and scale transform.

osg::ref_ptr<osg::Group> makVrv::DtAttachableEllipsoidArcModelInstance::myBlendNode
protected

The blending node for the geometry.

osg::ref_ptr<osg::Group> makVrv::DtAttachableEllipsoidArcModelInstance::myWireNode
protected

The wireframe node for the geometry.

osg::ref_ptr<osg::Geometry> makVrv::DtAttachableEllipsoidArcModelInstance::myGeometry
protected

The model instance's geometry.

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

The front facing geometry geode.

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

The back facing geometry geode.

int makVrv::DtAttachableEllipsoidArcModelInstance::myCenterVertexIndex
protected
bool makVrv::DtAttachableEllipsoidArcModelInstance::myLockUpdates
protected

Flag indicating changes colors and geometry should be postponed.

bool makVrv::DtAttachableEllipsoidArcModelInstance::myDirtyGeometry
protected

Flag indicating the geometry changed and must be regenerated.

bool makVrv::DtAttachableEllipsoidArcModelInstance::myDirtyColors
protected

Flag indicating the colors changed and must be updated.

osg::Vec3d makVrv::DtAttachableEllipsoidArcModelInstance::myRelativePosition
protected

Relative position offset.

osg::Quat makVrv::DtAttachableEllipsoidArcModelInstance::myRelativeOrientation
protected

Relative orientation.

osg::Vec3d makVrv::DtAttachableEllipsoidArcModelInstance::myDimensions
protected

Axis dimensions.

EllipsoidArcRange makVrv::DtAttachableEllipsoidArcModelInstance::myAzimuthRange
protected

Azimuth range (center/sweep)

EllipsoidArcRange makVrv::DtAttachableEllipsoidArcModelInstance::myElevationRange
protected

Elevation range (center/sweep)

osg::Vec4 makVrv::DtAttachableEllipsoidArcModelInstance::myInsideColor
protected

Color at the center of the sphere.

osg::Vec4 makVrv::DtAttachableEllipsoidArcModelInstance::myOutsideColor
protected

Color on the external points of the sphere.

bool makVrv::DtAttachableEllipsoidArcModelInstance::myShowLines
protected

Whether or not to display the emitter volume outline lines.

bool makVrv::DtAttachableEllipsoidArcModelInstance::myLineAlphaFlag
protected

Whether the outline lines have alpha or not.

float makVrv::DtAttachableEllipsoidArcModelInstance::myAngleSegmentMax
protected

The max angle used to sample the emitter volume (in degrees)

bool makVrv::DtAttachableEllipsoidArcModelInstance::myFlashing
protected

Like HTML blink.


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

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)