VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCdbEffectTextureVisitor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/NodeVisitor>
15 
17 #include <boost/thread.hpp>
18 
19 #include <boost/thread/mutex.hpp>
20 
21 #include <map>
22 
23 namespace makVrv
24 {
25  class DtOsgEffectTextureController;
26  class DtOsgFileCache;
27 
32  class DT_DLL_VRVOSG DtCdbEffectTextureVisitor : public osg::NodeVisitor
33  {
34  public:
38  virtual ~DtCdbEffectTextureVisitor();
39 
40  protected:
41  // osg::NodeVisitor overrides
42  virtual void apply(osg::Node& node);
43  virtual void apply(osg::Geode& geode);
44  virtual void apply(osg::StateSet* stateSet);
45 
46  //If the effectTexture matches the CDBEffectTextureCode, we insert the effect shader in the VP,
47  //thus apply the effect tex to base tex
48  virtual bool checkAndInstallEffectTexture(osg::StateSet* stateSet, osg::Texture* baseTexture,
49  osg::Texture* effectTexture, int baseUnit, int effectUnit, DtCdbEffectTextureType type);
50 
51  typedef std::map<DtCdbEffectTextureType, osg::ref_ptr<DtOsgEffectTextureController> > Controllers;
53  protected:
54  static boost::mutex theVisitorMutex;
55  };
56 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)