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

OpenSceneGraph implementation of a textured ribbon Used to draw effects like tread tracks that follow a scene object Procedurally generated as its position in the scene changes. More...

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

Public Member Functions

virtual ~DtOsgDecalRibbon ()
 DTOR. More...
 
virtual void setTextureRepeat (float textureRepeat)
 Set the number of copies of the texture to repeat into each quad. More...
 
- Public Member Functions inherited from makVrv::DtOsgRibbon
 DtOsgRibbon (DtDe &de, float segmentSpacing=1.0, const osg::Vec4 &color=osg::Vec4d(0.5, 0.5, 0.5, 1.0), float maxLength=2000, float timeout=3600.0)
 CTOR. More...
 
virtual ~DtOsgRibbon ()
 DTOR. More...
 
virtual void traverse (osg::NodeVisitor &nv)
 Interrupt CullVisitors by updating the ribbon. More...
 
virtual osg::Node * node ()
 Get the osg geometry node associated with the ribbon. More...
 
virtual void setColor (const osg::Vec4 &color)
 Set the ribbon's color. More...
 
virtual const osg::Vec4 & color () const
 Get the ribbon's color. More...
 
virtual void setDroppedPoints (const osg::Vec3d &pointA, const osg::Vec3d &pointB)
 Set the points to drop in local coordinates. More...
 
virtual void setDroppedPointsPositionOffset (const osg::Vec3d &posOffset)
 Provide an offset to the dropped points so the entity can shift around the points specified in the model definition ex. More...
 
virtual void update (double dt, double simTime)
 Update the ribbon with the current position. More...
 
virtual void update ()
 Optional time independent update method. More...
 
virtual void setMaxSegments (long segments)
 Sets the maximum number of segments allowed in the ribbon. More...
 
virtual long maxSegments () const
 Gets the maximum number of segments allowed in the ribbon. More...
 
virtual void setSegmentSpacing (float spacing)
 Sets the maximum length of ribbon segments. More...
 
virtual void setSegmentTimeout (float duration)
 Sets the timeout of a ribbon segment. More...
 
virtual float segmentSpacing () const
 Gets the maximum length of the ribbon segments. More...
 
virtual void setStippled (bool stippled)
 
virtual bool isStippled () const
 Get the stipple setting for this ribbon. More...
 
virtual void setLightingEnabled (bool enable)
 set to true the lighting enabled flag to turn lighting on for the ribbon More...
 
virtual bool lightingEnabled ()
 get the lighting enabled flag More...
 

Protected Member Functions

 DtOsgDecalRibbon (DtDe &de, float segmentSpacing, const osg::Vec4 &color, osg::Texture *tex, float maxLength)
 CTOR (create through DtOsgDecalRibbonCreator method) More...
 
virtual void addParticle (const osg::Vec3d &left, const osg::Vec3d &right, double simTime) override
 Add a particle to the ribbon. More...
 
virtual float currentSegmentLength () override
 Find the length of the current ribbon segment. More...
 
virtual void cleanupOldSegments (double simTime) override
 Check to see if any segments have reached their timeout if so remove them from the list to be rendered. More...
 
virtual void extendCurrentSegment (osg::Vec3d const &left, osg::Vec3d const &right, double simTime) override
 Extend the current segment to left and right points. More...
 
virtual osg::Drawable * getDrawable () override
 Create or get the ribbon drawable. More...
 
virtual osg::Geode * createGeode () override
 Create the geode. More...
 
virtual int particleIndexAtOffset (int offset)
 Get index of particle at offset from current particle. More...
 
virtual void rotateDrawableIndices (int amount)
 Rotate the drawable primitives' indices by amount. More...
 
virtual osg::Vec2 getTextureCoordinateFor (int pointIndex, float vScale) const
 Get the texture coordinate for a vertex. More...
 
- Protected Member Functions inherited from makVrv::DtOsgRibbon
virtual void setDrawable ()
 Removes any existing drawables and add the drawable returned from getDrawable. More...
 

Protected Attributes

osg::ref_ptr< osg::Vec3Array > myPoints
 
osg::ref_ptr< osg::Vec2Array > myTextureCoordinates
 
osg::ref_ptr
< osg::DrawElementsUInt > 
myRibbon
 
osg::ref_ptr< osg::Geometry > myGeometry
 
osg::ref_ptr< osg::Texture > myTexture
 
bool myWrappingVertices
 
std::string myTextureFilename
 
int myParticleIndex
 
float myTextureRepeat
 
- Protected Attributes inherited from makVrv::DtOsgRibbon
osg::ref_ptr
< osg::MatrixTransform > 
myPositionNode
 
osg::ref_ptr< osg::Geode > myGeode
 
osg::Matrixd myWorldTransformInv
 
osg::Matrixd myLastLocalToWork
 
int myLastUpdatedFrame
 
double myLastUpdateTime
 
long myMaxSegments
 
float mySegmentSpacingSquared
 
float mySegmentSpacing
 
float mySegmentTimeout
 
osg::Vec3d myLocalPointA
 
osg::Vec3d myLocalPointB
 
osg::Vec3d myLocalPosOffset
 
osg::Vec4 myColor
 
bool myFirstUpdate
 
bool myStippled
 
DtDemyDe
 
bool myLightingEnabled
 
bool myShaderSet
 

Private Member Functions

 DtOsgDecalRibbon ()=delete
 unimplemented private default constructor More...
 
 DtOsgDecalRibbon (const DtOsgDecalRibbon &)=delete
 Copy Constructor not implemented – Copy not allowed. More...
 
DtOsgDecalRibbonoperator= (const DtOsgDecalRibbon &)=delete
 Assignment Operator not implemented – Copy not allowed. More...
 

Friends

class DtOsgDecalRibbonCreator
 

Detailed Description

OpenSceneGraph implementation of a textured ribbon Used to draw effects like tread tracks that follow a scene object Procedurally generated as its position in the scene changes.

Constructor & Destructor Documentation

virtual makVrv::DtOsgDecalRibbon::~DtOsgDecalRibbon ( )
virtual

DTOR.

makVrv::DtOsgDecalRibbon::DtOsgDecalRibbon ( DtDe de,
float  segmentSpacing,
const osg::Vec4 &  color,
osg::Texture *  tex,
float  maxLength 
)
protected

CTOR (create through DtOsgDecalRibbonCreator method)

makVrv::DtOsgDecalRibbon::DtOsgDecalRibbon ( )
privatedelete

unimplemented private default constructor

makVrv::DtOsgDecalRibbon::DtOsgDecalRibbon ( const DtOsgDecalRibbon )
privatedelete

Copy Constructor not implemented – Copy not allowed.

Member Function Documentation

DtOsgDecalRibbon& makVrv::DtOsgDecalRibbon::operator= ( const DtOsgDecalRibbon )
privatedelete

Assignment Operator not implemented – Copy not allowed.

virtual void makVrv::DtOsgDecalRibbon::setTextureRepeat ( float  textureRepeat)
virtual

Set the number of copies of the texture to repeat into each quad.

Textures are tiled in their v coordinate only.

virtual void makVrv::DtOsgDecalRibbon::addParticle ( const osg::Vec3d &  left,
const osg::Vec3d &  right,
double  simTime 
)
overrideprotectedvirtual

Add a particle to the ribbon.

Implements makVrv::DtOsgRibbon.

virtual float makVrv::DtOsgDecalRibbon::currentSegmentLength ( )
overrideprotectedvirtual

Find the length of the current ribbon segment.

Implements makVrv::DtOsgRibbon.

virtual void makVrv::DtOsgDecalRibbon::cleanupOldSegments ( double  simTime)
overrideprotectedvirtual

Check to see if any segments have reached their timeout if so remove them from the list to be rendered.

currently only implemented for track histories.

Implements makVrv::DtOsgRibbon.

virtual void makVrv::DtOsgDecalRibbon::extendCurrentSegment ( osg::Vec3d const &  left,
osg::Vec3d const &  right,
double  simTime 
)
overrideprotectedvirtual

Extend the current segment to left and right points.

Implements makVrv::DtOsgRibbon.

virtual osg::Drawable* makVrv::DtOsgDecalRibbon::getDrawable ( )
overrideprotectedvirtual

Create or get the ribbon drawable.

Implements makVrv::DtOsgRibbon.

virtual osg::Geode* makVrv::DtOsgDecalRibbon::createGeode ( )
overrideprotectedvirtual

Create the geode.

Reimplemented from makVrv::DtOsgRibbon.

virtual int makVrv::DtOsgDecalRibbon::particleIndexAtOffset ( int  offset)
protectedvirtual

Get index of particle at offset from current particle.

virtual void makVrv::DtOsgDecalRibbon::rotateDrawableIndices ( int  amount)
protectedvirtual

Rotate the drawable primitives' indices by amount.

virtual osg::Vec2 makVrv::DtOsgDecalRibbon::getTextureCoordinateFor ( int  pointIndex,
float  vScale 
) const
protectedvirtual

Get the texture coordinate for a vertex.

Friends And Related Function Documentation

friend class DtOsgDecalRibbonCreator
friend

Member Data Documentation

osg::ref_ptr<osg::Vec3Array> makVrv::DtOsgDecalRibbon::myPoints
protected
osg::ref_ptr<osg::Vec2Array> makVrv::DtOsgDecalRibbon::myTextureCoordinates
protected
osg::ref_ptr<osg::DrawElementsUInt> makVrv::DtOsgDecalRibbon::myRibbon
protected
osg::ref_ptr<osg::Geometry> makVrv::DtOsgDecalRibbon::myGeometry
protected
osg::ref_ptr<osg::Texture> makVrv::DtOsgDecalRibbon::myTexture
protected
bool makVrv::DtOsgDecalRibbon::myWrappingVertices
protected
std::string makVrv::DtOsgDecalRibbon::myTextureFilename
protected
int makVrv::DtOsgDecalRibbon::myParticleIndex
protected
float makVrv::DtOsgDecalRibbon::myTextureRepeat
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)