VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgMultiRibbon.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 #include <vector>
17 
18 namespace osg { class Node; class Group; }
19 
20 namespace makVrv
21 {
25  {
26  public:
27  typedef std::vector<DtOsgRibbon*> RibbonSet;
28 
29  typedef std::vector<osg::ref_ptr<DtOsgRibbon> > RibbonRefPtrSet;
30 
31  protected:
34 
36 
38  virtual ~DtOsgMultiRibbon();
39 
40  private:
42  DtOsgMultiRibbon() = delete;
44  DtOsgMultiRibbon(const DtOsgMultiRibbon&) = delete;
46  DtOsgMultiRibbon &operator=(const DtOsgMultiRibbon&) = delete;
47 
48  public:
50  virtual osg::Node* node() override;
51 
53  virtual void setDroppedPointsPositionOffset(const osg::Vec3d& posOffset) override;
54 
56  virtual void update(double dt, double simTime) override;
57 
59  virtual void addRibbon(DtOsgRibbon* ribbon);
60 
61  protected:
63  virtual void addParticle(osg::Vec3d const& left, osg::Vec3d const& right,
64  double simTime) override;
65 
67  virtual float currentSegmentLength() override;
68 
72  virtual void cleanupOldSegments(double simTime);
73 
75  virtual void extendCurrentSegment(osg::Vec3d const& left,
76  osg::Vec3d const& right, double simTime) override;
77 
79  virtual osg::Drawable* getDrawable() override;
80 
81  protected:
82 
85 
87  };
88 
89  //
90  // Creator for DtOsgMultiRibbons
91  //
93  {
94  public:
97 
99  virtual ~DtOsgMultiRibbonCreator();
100 
103  static DtOsgMultiRibbonCreator& instance(DtDe& de);
104 
107  static void registerInstance(DtDe& de, DtOsgMultiRibbonCreator* creator);
108 
110  virtual DtOsgMultiRibbon* create(DtDe& de);
111  };
112 }
113 
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
std::vector< osg::ref_ptr< DtOsgRibbon > > RibbonRefPtrSet
Definition: DtOsgMultiRibbon.h:29
Definition: DtOsgMultiRibbon.h:92
Contains makVrv::DtVirtualBaseClass class.
Ribbon implementation that composes multiple child ribbons.
Definition: DtOsgMultiRibbon.h:24
osg::ref_ptr< osg::Group > myNode
Definition: DtOsgMultiRibbon.h:86
Base class for OSG ribbon implementations.
Definition: DtOsgRibbon.h:25
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Base class for ribbons.
RibbonRefPtrSet myRibbons
Set of sub-ribbons.
Definition: DtOsgMultiRibbon.h:84
std::vector< DtOsgRibbon * > RibbonSet
Definition: DtOsgMultiRibbon.h:27

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)