VR-Forces 4.0.4 Class Documentation
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtExtrudedModelInstance Class Reference

A prism controlled by control points. More...

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

List of all members.

Public Types

enum  LineExtrusionMode { LineOnly, ExtrudeWidth, ExtrudeHeight, FullExtrusion }

Public Member Functions

 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
const DtVectorpoint (int) const
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)
bool pickable () const
void setOrigin (const DtVector &origin)
virtual void updatePoints ()
 Create the point array based on extents and point list.
virtual void setSolid (bool)
 Sets shape solid or outlined only. If solid is false and scribed is false, line will be effectively invisible.

Protected Types

typedef std::vector< DtVectorPointVector

Protected Member Functions

virtual void updateMode ()
 Updates the line mode to a correct mode for the given extents.
virtual void updateGeometry ()
 Rebuild the geometry objects.
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 updateStippling ()
 Updates for stippling.
virtual void updateScribeLine ()
 Updates the scribe line for geometry and color.
virtual void updateColors ()
 Updates colors of line and scribe line.
virtual bool frontAndBackFaceRendered () const
 Returns true if the first and last face are part of the line. Default is true.
virtual void updatePointsForLineStrip ()
virtual void updatePointsForTriangleStrip ()
virtual void updatePointsForExtrusion ()
virtual void createFaces ()
virtual void updateScribeForTriangleStrip ()
virtual void updateScribeForExtrusion (osg::Vec3Array *)

Protected Attributes

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

Detailed Description

A prism controlled by control points.


Member Typedef Documentation

typedef std::vector<DtVector> makVrv::DtExtrudedModelInstance::PointVector [protected]

Member Enumeration Documentation

Enumerator:
LineOnly 
ExtrudeWidth 
ExtrudeHeight 
FullExtrusion 

Constructor & Destructor Documentation

CTOR.

DTOR.


Member Function Documentation

virtual void makVrv::DtExtrudedModelInstance::addPoint ( const DtVector ,
int  index = -1 
) [virtual]

Add a control point to the end of the control point list if index is -1, or, at the specified index.

virtual void makVrv::DtExtrudedModelInstance::removePoint ( int  index) [virtual]

Remove a control point at the specified index.

virtual void makVrv::DtExtrudedModelInstance::setPosition ( int  index,
const DtVector  
) [virtual]

Move a control point at the specified index to a new position.

Clears out positions and resets geometry.

Attempt to realize a definition.

If the model instance can't realize the definition it should return false.

Reimplemented from makVrv::DtModelInstance.

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

Reimplemented from makVrv::DtOsgModelInstance.

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

Reimplemented from makVrv::DtOsgModelInstance.

virtual void makVrv::DtExtrudedModelInstance::setStipplePattern ( unsigned  int) [virtual]

Sets the stipple pattern of the line.

virtual void makVrv::DtExtrudedModelInstance::setColor ( float  r,
float  g,
float  b,
float  a 
) [virtual]

Set the color of the line.

virtual void makVrv::DtExtrudedModelInstance::setTextureHeight ( double  height) [virtual]

Set the height of the texture in meters.

virtual void makVrv::DtExtrudedModelInstance::setTextureWidth ( double  width) [virtual]

Set the width of the texture tiles in meters.

virtual void makVrv::DtExtrudedModelInstance::setTexture ( osg::Texture *  texture) [virtual]

Set the shape's texture.

virtual void makVrv::DtExtrudedModelInstance::setUpExtent ( float  height) [virtual]

Set the shape's upwards extrusion extent.

virtual void makVrv::DtExtrudedModelInstance::setDownExtent ( float  height) [virtual]

Set the shape's downwards extrusion extent.

virtual void makVrv::DtExtrudedModelInstance::setLeftExtent ( float  height) [virtual]

Set the shape's left extrusion extent.

virtual void makVrv::DtExtrudedModelInstance::setRightExtent ( float  heigh) [virtual]

Set the shape's right extrusion extent.

virtual void makVrv::DtExtrudedModelInstance::setWidth ( float  ) [virtual]

Sets the width of the line. If there is height, will 0 out height.

virtual void makVrv::DtExtrudedModelInstance::setHeight ( float  ) [virtual]

Sets the height of the line ("up/down" the origin point).

If width is set, will 0 out width for the entire line

virtual void makVrv::DtExtrudedModelInstance::setDimensions ( float  width,
float  height 
) [virtual]

Sets the dimensions of the line.

virtual void makVrv::DtExtrudedModelInstance::setLineWidth ( float  width) [virtual]

Sets the width of the line in pixel space, not world.

Clears out any existing dimensional size

virtual void makVrv::DtExtrudedModelInstance::setScribed ( bool  b) [virtual]

Sets the line to be scribed (default true)

virtual void makVrv::DtExtrudedModelInstance::setScribeColor ( float  r,
float  g,
float  b,
float  a 
) [virtual]

Sets the color of the scribe line.

Once set it will always be different than the color of the main polygon

Sets the scribed line to be occluded by the terrain (default true)

virtual void makVrv::DtExtrudedModelInstance::setVisible ( bool  isVisible) [inline, virtual]

no-op

Implements makVrv::DtModelInstance.

Sets whether or not updates are locked. If updates are locked, no changes made until they are unlocked.

Returns whether or not updates are locked.

virtual void makVrv::DtExtrudedModelInstance::setPickable ( bool  ) [virtual]

Create the point array based on extents and point list.

Reimplemented in makVrv::DtExtrudedPolygonModelInstance.

virtual void makVrv::DtExtrudedModelInstance::setSolid ( bool  ) [virtual]

Sets shape solid or outlined only. If solid is false and scribed is false, line will be effectively invisible.

virtual void makVrv::DtExtrudedModelInstance::updateMode ( ) [protected, virtual]

Updates the line mode to a correct mode for the given extents.

virtual void makVrv::DtExtrudedModelInstance::updateGeometry ( ) [protected, virtual]

Rebuild the geometry objects.

Reimplemented in makVrv::DtExtrudedPolygonModelInstance.

virtual void makVrv::DtExtrudedModelInstance::updateTextureCoordinates ( ) [protected, virtual]

Recalculate the texture coordinates.

virtual void makVrv::DtExtrudedModelInstance::addPointsForExtentExtrusion ( const DtVector point) [protected, virtual]

Add points for a height or width extrustion.

virtual void makVrv::DtExtrudedModelInstance::addFaceForRotation ( const osg::Quat &  rotation,
const DtVector point 
) [protected, virtual]

Adds a face given the rotation matrix.

virtual void makVrv::DtExtrudedModelInstance::addPointsForFullExtrusion ( const DtVector from,
const DtVector to 
) [protected, virtual]

Add points for full extrustion.

virtual void makVrv::DtExtrudedModelInstance::updateStippling ( ) [protected, virtual]

Updates for stippling.

Reimplemented in makVrv::DtExtrudedPolygonModelInstance.

virtual void makVrv::DtExtrudedModelInstance::updateScribeLine ( ) [protected, virtual]

Updates the scribe line for geometry and color.

Reimplemented in makVrv::DtExtrudedPolygonModelInstance.

virtual void makVrv::DtExtrudedModelInstance::updateColors ( ) [protected, virtual]

Updates colors of line and scribe line.

Reimplemented in makVrv::DtExtrudedPolygonModelInstance.

virtual bool makVrv::DtExtrudedModelInstance::frontAndBackFaceRendered ( ) const [protected, virtual]

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

Reimplemented in makVrv::DtExtrudedPolygonModelInstance.

virtual void makVrv::DtExtrudedModelInstance::updatePointsForLineStrip ( ) [protected, virtual]
virtual void makVrv::DtExtrudedModelInstance::updatePointsForExtrusion ( ) [protected, virtual]
virtual void makVrv::DtExtrudedModelInstance::createFaces ( ) [protected, virtual]
virtual void makVrv::DtExtrudedModelInstance::updateScribeForExtrusion ( osg::Vec3Array *  ) [protected, virtual]

Member Data Documentation

osg::ref_ptr<osg::Geode> makVrv::DtExtrudedModelInstance::myShapeGeode [protected]
osg::ref_ptr<osg::Geometry> makVrv::DtExtrudedModelInstance::myShapeGeometry [protected]
osg::ref_ptr<osg::Vec3Array> makVrv::DtExtrudedModelInstance::myShapePoints [protected]
osg::ref_ptr<osg::Geode> makVrv::DtExtrudedModelInstance::myScribeGeode [protected]
osg::ref_ptr<osg::Geometry> makVrv::DtExtrudedModelInstance::myScribeGeometry [protected]
osg::ref_ptr<osg::Vec3Array> makVrv::DtExtrudedModelInstance::myScribePoints [protected]
osg::ref_ptr<osg::Texture> makVrv::DtExtrudedModelInstance::myTexture [protected]
osg::ref_ptr<osg::Vec2Array> makVrv::DtExtrudedModelInstance::myTextureCoordinates [protected]
osg::ref_ptr<osg::LineWidth> makVrv::DtExtrudedModelInstance::myLineWidth [protected]
osg::ref_ptr<osg::Group> makVrv::DtExtrudedModelInstance::myMainTransform [protected]
osg::ref_ptr<osg::Vec3Array> makVrv::DtExtrudedModelInstance::myFaces [protected]

If the line has width and height, the list of faces that make up the junction points of the boxes.

Each junction point is a series of four coordinates

If drawing as line use this pointer to create the pickable segments of that line, else geometry will not support it.


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)