VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtImguiDrawable.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <osg/Drawable>
13 
14 #include <vrvOsg/vrvOsg.h>
15 
16 namespace makVrv
17 {
18  class DtDe;
19  class DtOsgRenderer;
20 
22  {
23  public:
24  virtual void createImGui() = 0;
25  };
26 
27 
28  class DT_DLL_VRVOSG DtImguiDrawable : public osg::Drawable
29  {
30  public:
32  virtual ~DtImguiDrawable();
33  virtual void drawImplementation(osg::RenderInfo& info) const;
34 
35  void addUI(DtImguiTweakUI* ui){ myUiArray.push_back(ui); }
37  std::vector<DtImguiTweakUI*>::iterator iter = std::find(myUiArray.begin(), myUiArray.end(), ui);
38  if (iter != myUiArray.end()){
39  myUiArray.erase(iter);
40  }
41  }
42 
43  static DtImguiDrawable * getInstance(DtDe & de, DtOsgRenderer * renderer);
44  static DtImguiDrawable * getInstance();
45  bool readyToRender(){ return myReadyToRender; }
46 
47  virtual void releaseGLObjects(osg::State* state/* =0 */) const;
48 
49  private:
51  std::vector<DtImguiTweakUI*> myUiArray;
52 
54  mutable bool myReadyToRender;
55  };
56 
57 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)