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

A prism controlled by control points. More...

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

Public Member Functions

 DtExtrudedPolygonModelInstance (DtDe &de)
 CTOR.
virtual ~DtExtrudedPolygonModelInstance ()
 DTOR.
virtual void setFill (bool)
 Sets whether or not polygon is filled or just an outline (default is false)
virtual void setPolygonMode (DtExtrudedPolygonModel::PolygonMode mode)
 Sets the mode of the polygon (by default top and bottom)
virtual void updateGeometry ()
 If polygons need updating, also update them.
virtual void setInsideColor (float r, float g, float b, float a)
 Set the inside color of the line.
virtual void getInsideColor (float &r, float &g, float &b, float &a) const
 Gets the inside color of the line.
virtual void setOutsideColor (float r, float g, float b, float a)
 Set the outside color of the line.
virtual void getOutsideColor (float &r, float &g, float &b, float &a) const
 Gets the outside color of the line.
virtual void setColor (float r, float g, float b, float a)
 Sets the inside and outside color.
- Public Member Functions inherited from makVrv::DtExtrudedModelInstance
 DtExtrudedModelInstance (DtDe &de)
 CTOR.
virtual ~DtExtrudedModelInstance ()
 DTOR.
virtual const PointVectorpoints () const
 Returns the points associated with this model.
virtual void addPoint (const DtVector &, int index=-1)
 Add a control point to the end of the control point list if index is -1, or, at the specified index.
virtual void removePoint (int index)
 Remove a control point at the specified index.
virtual void setPoints (const std::vector< DtVector > &)
 Sets all the points.
virtual void setPosition (int index, const DtVector &)
 Move a control point at the specified index to a new position.
virtual void setPositions (const std::vector< DtVector > &)
 Sets all the positions int the model. replacing existing.
virtual void clearPoints ()
 Clears out positions and resets geometry.
virtual bool realize (DtModelDefinition &definition)
 Attempt to realize a definition.
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 void setStipplePattern (unsigned int)
 Sets the stipple pattern of the line.
virtual void getColor (float &r, float &g, float &b, float &a) const
 Gets the color of the line.
virtual void setTextureHeight (double height)
 Set the height of the texture in meters.
virtual void setTextureWidth (double width)
 Set the width of the texture tiles in meters.
virtual void setTexture (osg::Texture *texture)
 Set the shape's texture.
virtual void setWidth (float)
 Sets the width of the line. If there is height, will 0 out height.
virtual void setHeight (float)
 Sets the height of the line ("up/down" the origin point).
virtual void setDimensions (float width, float height)
 Sets the dimensions of the line.
virtual void setLineWidth (float width)
 Sets the width of the line in pixel space, not world.
virtual void setScribeWidth (float width)
 Sets the width of the scribe line in pixel space.
virtual void setScribeAllPolygons (bool)
 Sets whether or not to only scribe the outline (and not the line edges).
virtual void setScribed (bool b)
 Sets the line to be scribed (default true)
virtual void setScribeColor (float r, float g, float b, float a)
 Sets the color of the scribe line.
virtual void setVisible (bool isVisible)
 no-op
int pointCount () const
 Returns the number of points.
const DtVectororigin () const
 Returns the origin point of the line.
const DtVectorpoint (int) const
 Returns the point at the given index. zero point if index is out of range.
virtual void setPickable (bool)
 Sets whether or not line is pickable.
bool pickable () const
 Returns whether or not line is pickable.
void setOrigin (const DtVector &origin)
virtual void setSolid (bool)
 Sets shape solid or outlined only. If solid is false and scribed is false, line will be effectively invisible.
osg::Node * rootNode ()
 Returns the root node.
virtual void setUpExtent (float height)
 Set the shape's upwards extrusion extent.
virtual void setDownExtent (float height)
 Set the shape's downwards extrusion extent.
virtual void setLeftExtent (float height)
 Set the shape's left extrusion extent.
virtual void setRightExtent (float heigh)
 Set the shape's right extrusion extent.
- 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 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.
virtual void setBlendColor (float r, float g, float b, float a)
 set the model's color
virtual void enableTexture (bool onOff)
virtual const osg::Node * rootNode () const
virtual osg::Node * sensorNode ()
 Get the model instance's sensor node, .
virtual const osg::Node * sensorNode () const
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

virtual void updatePoints ()
 Overridden to also create top/bottom geode points if filled.
virtual void updatePolygons ()
 Creates the top/bottom polygons as necessary.
virtual void addTop ()
 Adds top polygon.
virtual void addBottom ()
 Adds bottom polygon.
virtual void updateColors ()
 Updates colors.
virtual void updateStippling ()
 Updates stippling.
virtual void calculateCenterPoints ()
 Given the points, calculate the center of the top and bottom polygon to be used for fill.
- Protected Member Functions inherited from makVrv::DtExtrudedModelInstance
virtual osg::Vec3 rotatePoint (const osg::Vec3 &org, double range, const DtTaitBryan &angle) const
 Rotates the point at the given topo angle and returns the result.
virtual void updateMode ()
 Updates the line mode to a correct mode for the given extents.
virtual void updateTextureCoordinates ()
 Recalculate the texture coordinates.
virtual void addPointsForExtentExtrusion (const DtVector &point)
 Add points for a height or width extrustion.
virtual void addFaceForRotation (const osg::Quat &rotation, const DtVector &point)
 Adds a face given the rotation matrix.
virtual void addPointsForFullExtrusion (const DtVector &from, const DtVector &to)
 Add points for full extrustion.
virtual void setupScribeTransparency (bool b)
 Sets up the fact that the scribe line is transparent (true) or not (false) with respect to blending into the background.
virtual void setupGeodeTransparency (bool b)
 Sets up transparency for geode that represents the objects points.
virtual void updateScribeLine ()
 Updates the scribe line for geometry and color.
virtual bool frontAndBackFaceRendered () const
 Returns true if the first and last face are part of the line. Default is true.
virtual void updatePointsForLineStrip ()
 Updates the points for the line strip mode (no extrusion)
virtual void updatePointsForTriangleStrip ()
 Updates points for width or height extrusion.
virtual void updatePointsForExtrusion ()
 Updates points for full extrusion.
virtual void createFaces ()
 Creates the front/back face per segment for full extrusion.
virtual void updateScribeForTriangleStrip ()
 Updates script line for triangle strip mode.
virtual void updateScribeForExtrusion (osg::Vec3Array *)
 Updates scribe line for full extrusion mode.
virtual void updateScribeForOutline ()
 Updates scribe for outline (top/bottom) only.
virtual void updateScribeForFull ()
 Updates scribe for edges and outline.
virtual void updateGeometryWithStrip (osg::ref_ptr< osg::Geometry > &, const osg::ref_ptr< osg::Vec3Array > &)
 Updates geometry with indicies necessary to draw scribe line.
- 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::Geode > myCoverGeode
osg::ref_ptr< osg::Vec3Array > myFillArray
osg::ref_ptr< osg::Geometry > myTopGeometry
osg::ref_ptr< osg::Geometry > myBottomGeometry
bool myFilled
DtExtrudedPolygonModel::PolygonMode myPolygonMode
osg::Vec4 myInsideColor
- Protected Attributes inherited from makVrv::DtExtrudedModelInstance
osg::ref_ptr< osg::Geode > myShapeGeode
osg::ref_ptr< osg::Geometry > myShapeGeometry
osg::ref_ptr< osg::Vec3Array > myShapePoints
osg::ref_ptr< osg::Geode > myScribeGeode
osg::ref_ptr< osg::Geometry > myScribeGeometryFull
osg::ref_ptr< osg::Geometry > myScribeGeometryTop
osg::ref_ptr< osg::Geometry > myScribeGeometryBottom
osg::ref_ptr< osg::Vec3Array > myScribePointsTop
osg::ref_ptr< osg::Vec3Array > myScribePointsBottom
osg::ref_ptr< osg::Vec3Array > myScribePointsFull
osg::ref_ptr< osg::Texture > myTexture
osg::ref_ptr< osg::Vec2Array > myTextureCoordinates
osg::ref_ptr< osg::LineWidth > myLineWidth
osg::ref_ptr< osg::LineWidth > myScribeWidth
osg::ref_ptr< osg::Group > myFrontTransparentGroup
osg::ref_ptr< osg::Group > myBackTransparentGroup
osg::ref_ptr< osg::Group > myOpaqueGroup
osg::ref_ptr< osg::Group > myMainTransform
osg::ref_ptr< osg::Vec3Array > myFaces
 If the line has width and height, the list of faces that make up the junction points of the boxes.
osg::Vec4 myColor
double myTextureWidth
double myTextureHeight
float myUpExtent
float myDownExtent
float myLeftExtent
float myRightExtent
PointVector myLinePoints
DtVector myOrigin
bool myShapePointsDirty
bool myScribed
bool myScribeAllPolygons
bool mySolid
bool myScribeWidthSet
int myStipplePattern
LineExtrusionMode myMode
DtOsgSegmentPickablemyPickable
 If drawing as line use this pointer to create the pickable segments of that line, else geometry will not support it.
bool myIsPickable
osg::Vec4 myScribeColor
bool myScribeColorSet
- 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::DtExtrudedModelInstance
enum  LineExtrusionMode { LineOnly, ExtrudeWidth, ExtrudeHeight, FullExtrusion }
typedef std::vector< DtVectorPointVector
- 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

A prism controlled by control points.

Constructor & Destructor Documentation

makVrv::DtExtrudedPolygonModelInstance::DtExtrudedPolygonModelInstance ( DtDe de)

CTOR.

virtual makVrv::DtExtrudedPolygonModelInstance::~DtExtrudedPolygonModelInstance ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtExtrudedPolygonModelInstance::setFill ( bool  )
virtual

Sets whether or not polygon is filled or just an outline (default is false)

virtual void makVrv::DtExtrudedPolygonModelInstance::setPolygonMode ( DtExtrudedPolygonModel::PolygonMode  mode)
virtual

Sets the mode of the polygon (by default top and bottom)

virtual void makVrv::DtExtrudedPolygonModelInstance::updateGeometry ( )
virtual

If polygons need updating, also update them.

Reimplemented from makVrv::DtExtrudedModelInstance.

virtual void makVrv::DtExtrudedPolygonModelInstance::setInsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the inside color of the line.

virtual void makVrv::DtExtrudedPolygonModelInstance::getInsideColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual

Gets the inside color of the line.

virtual void makVrv::DtExtrudedPolygonModelInstance::setOutsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the outside color of the line.

virtual void makVrv::DtExtrudedPolygonModelInstance::getOutsideColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual

Gets the outside color of the line.

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

Sets the inside and outside color.

Reimplemented from makVrv::DtExtrudedModelInstance.

virtual void makVrv::DtExtrudedPolygonModelInstance::updatePoints ( )
protectedvirtual

Overridden to also create top/bottom geode points if filled.

Reimplemented from makVrv::DtExtrudedModelInstance.

virtual void makVrv::DtExtrudedPolygonModelInstance::updatePolygons ( )
protectedvirtual

Creates the top/bottom polygons as necessary.

virtual void makVrv::DtExtrudedPolygonModelInstance::addTop ( )
protectedvirtual

Adds top polygon.

virtual void makVrv::DtExtrudedPolygonModelInstance::addBottom ( )
protectedvirtual

Adds bottom polygon.

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

Updates colors.

Reimplemented from makVrv::DtExtrudedModelInstance.

virtual void makVrv::DtExtrudedPolygonModelInstance::updateStippling ( )
protectedvirtual

Updates stippling.

Reimplemented from makVrv::DtExtrudedModelInstance.

virtual void makVrv::DtExtrudedPolygonModelInstance::calculateCenterPoints ( )
protectedvirtual

Given the points, calculate the center of the top and bottom polygon to be used for fill.

Then place the top point as the first and bottom as the second of the myFillArray

Member Data Documentation

osg::ref_ptr<osg::Geode> makVrv::DtExtrudedPolygonModelInstance::myCoverGeode
protected
osg::ref_ptr<osg::Vec3Array> makVrv::DtExtrudedPolygonModelInstance::myFillArray
protected
osg::ref_ptr<osg::Geometry> makVrv::DtExtrudedPolygonModelInstance::myTopGeometry
protected
osg::ref_ptr<osg::Geometry> makVrv::DtExtrudedPolygonModelInstance::myBottomGeometry
protected
bool makVrv::DtExtrudedPolygonModelInstance::myFilled
protected
DtExtrudedPolygonModel::PolygonMode makVrv::DtExtrudedPolygonModelInstance::myPolygonMode
protected
osg::Vec4 makVrv::DtExtrudedPolygonModelInstance::myInsideColor
protected

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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)