VR-Forces 4.1 Class Documentation
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)
- Public Member Functions inherited from makVrv::DtExtrudedModelInstance
 DtExtrudedModelInstance (DtDe &de)
 CTOR.
virtual ~DtExtrudedModelInstance ()
 DTOR.
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 setPosition (int index, const DtVector &)
 Move a control point at the specified index to a new position.
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 setColor (float r, float g, float b, float a)
 Set 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 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.
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 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 setScribeOccluded (bool b)
 Sets the scribed line to be occluded by the terrain (default true)
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 setLockUpdates (bool)
 Sets whether or not updates are locked. If updates are locked, no changes made until they are unlocked.
bool updatesLocked () const
 Returns whether or not updates are locked.
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.
- 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.
- 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 updateScribeLine ()
 Updates scribe line in case filled.
virtual void updateGeometry ()
 If polygons need updating, also update them.
virtual bool frontAndBackFaceRendered () const
 Returns true if the first and last face are part of the line.
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 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 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.
- 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::Vec3Array > myFillArray
osg::ref_ptr< osg::Geometry > myTopGeometry
osg::ref_ptr< osg::Geometry > myBottomGeometry
bool myFilled
bool myPolygonsDirty
DtExtrudedPolygonModel::PolygonMode myPolygonMode
- 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 > myScribeGeometry
osg::ref_ptr< osg::Vec3Array > myScribePoints
osg::ref_ptr< osg::Texture > myTexture
osg::ref_ptr< osg::Vec2Array > myTextureCoordinates
osg::ref_ptr< osg::LineWidth > myLineWidth
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 myGeometryDirty
bool myShapePointsDirty
bool myColorsDirty
bool myUpdatesLocked
bool myScribeOccluded
bool myScribed
bool mySolid
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
- 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 }
- 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::DtModelInstance
boost::signal< void(DtModelInstance *)> signal_modelInstanceChanged
- Protected Types inherited from makVrv::DtExtrudedModelInstance
typedef std::vector< DtVectorPointVector

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::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::updateScribeLine ( )
protectedvirtual

Updates scribe line in case filled.

Reimplemented from makVrv::DtExtrudedModelInstance.

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

If polygons need updating, also update them.

Reimplemented from makVrv::DtExtrudedModelInstance.

virtual bool makVrv::DtExtrudedPolygonModelInstance::frontAndBackFaceRendered ( ) const
protectedvirtual

Returns true if the first and last face are part of the line.

Since polgon is closed, returns false

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::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
bool makVrv::DtExtrudedPolygonModelInstance::myPolygonsDirty
protected
DtExtrudedPolygonModel::PolygonMode makVrv::DtExtrudedPolygonModelInstance::myPolygonMode
protected

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

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)