VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgDecalRibbon.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/DtOsgRibbon.h>
13 
15 
16 namespace osg
17 {
18  class DrawElementsUInt;
19  class Texture;
20 }
21 
22 namespace makVrv
23 {
29  : public DtOsgRibbon
30  {
31 
32  public:
33 
35  virtual ~DtOsgDecalRibbon();
36 
37  protected:
39  DtOsgDecalRibbon(DtDe& de, float segmentSpacing,
40  const osg::Vec4& color, osg::Texture* tex, float maxLength);
41 
43 
44  private:
50  DtOsgDecalRibbon &operator=(const DtOsgDecalRibbon&);
51 
52  public:
55  virtual void setTextureRepeat(float textureRepeat);
56 
58  virtual void addParticle(const osg::Vec3d & left, const osg::Vec3d & right,
59  double simTime);
60 
62  virtual float currentSegmentLength();
63 
65  virtual void extendCurrentSegment(osg::Vec3d const& left,
66  osg::Vec3d const& right, double simTime);
67 
71  virtual void cleanupOldSegments(double simTime);
72 
74  virtual osg::Drawable* getDrawable();
75 
77  virtual int particleIndexAtOffset(int offset);
78 
80  virtual void rotateDrawableIndices(int amount);
81 
83  virtual osg::Vec2 getTextureCoordinateFor(int pointIndex, float vScale);
84 
86  virtual osg::Geode* createGeode();
87 
88  protected:
94 
96  std::string myTextureFilename;
99  };
100 
101  //
102  // Creator for DtOsgDecalRibbons
103  //
105  {
106  public:
107 
110 
112  virtual ~DtOsgDecalRibbonCreator();
113 
116  static DtOsgDecalRibbonCreator& instance(DtDe& de);
117 
120  static void registerInstance(DtDe& de, DtOsgDecalRibbonCreator* creator);
121 
123  virtual DtOsgDecalRibbon* create(DtDe& de, float segmentSpacing,
124  const osg::Vec4& color, osg::Texture* tex, float maxLength = 2000);
125  };
126 }
127 
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
Definition: DtOsgDecalRibbon.h:104
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myWrappingVertices
Definition: DtOsgDecalRibbon.h:95
Contains makVrv::DtVirtualBaseClass class.
std::string myTextureFilename
Definition: DtOsgDecalRibbon.h:96
osg::ref_ptr< osg::Geometry > myGeometry
Definition: DtOsgDecalRibbon.h:92
int myParticleIndex
Definition: DtOsgDecalRibbon.h:97
Base class for OSG ribbon implementations.
Definition: DtOsgRibbon.h:25
float myTextureRepeat
Definition: DtOsgDecalRibbon.h:98
osg::ref_ptr< osg::Vec2Array > myTextureCoordinates
Definition: DtOsgDecalRibbon.h:90
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Base class for ribbons.
osg::ref_ptr< osg::Vec3Array > myPoints
Definition: DtOsgDecalRibbon.h:89
osg::ref_ptr< osg::DrawElementsUInt > myRibbon
Definition: DtOsgDecalRibbon.h:91
voidpf uLong offset
Definition: ioapi.h:42
OpenSceneGraph implementation of a textured ribbon Used to draw effects like tread tracks that follow...
Definition: DtOsgDecalRibbon.h:28
osg::ref_ptr< osg::Texture > myTexture
Definition: DtOsgDecalRibbon.h:93

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)