VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSilverLiningCubeMapManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
15 #include <osg/Camera>
16 
17 namespace osg
18 {
19  class State;
20 }
21 
22 namespace makVrv
23 {
25  {
29  };
30 
32  {
33  osg::Vec3d myLastUpdatePos;
34  unsigned int myID;
35  unsigned int myCurrentUpdateFace;
38  };
39 
42 
45 
47  template <>
48  inline const char* creatorTypeName<DtSilverLiningCubeMapManager>(void) { return "DtSilverLiningCubeMapManagerCreator"; }
49 
52  {
53  public:
56 
59  protected:
62 
63  private:
68 
69  public:
71  virtual void flushInvalidCameras(void);
72 
74  virtual DtSilverLiningCubeMapData* getOrCreateCubeMapData(osg::Camera* osgCamera, const osg::Vec3d& camPos);
75 
77  virtual void releaseGLObjects(osg::State* state);
78 
81  virtual void updateCubeMaps(bool fullRegenerate);
82 
84  virtual unsigned int findCubeMap(const osg::ref_ptr<const osg::Camera> osgCamera) const;
85 
86  protected:
87  typedef std::map<osg::observer_ptr<const osg::Camera>, DtSilverLiningCubeMapData* > MapCameraToCubeMapData;
89 
91  };
92 
93 }
Definition: DtSilverLiningCubeMapManager.h:26
virtual void flushInvalidCameras(void)
flush invalid cameras as windows come in/out
Definition: featureContext.h:37
osg::Vec3d myLastUpdatePos
Definition: DtSilverLiningCubeMapManager.h:33
bool myNeedsFullRegen
Definition: DtSilverLiningCubeMapManager.h:37
Definition: DtSilverLiningCubeMapManager.h:28
DtCubeMapUpdateState myUpdateState
Definition: DtSilverLiningCubeMapManager.h:36
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
virtual ~DtSilverLiningCubeMapManager()
destructor
virtual void updateCubeMaps(bool fullRegenerate)
Request an updated cube map with the next draw for all cameras Also, flush invalid camera if any...
DtCubeMapUpdateState
Definition: DtSilverLiningCubeMapManager.h:24
manages cube maps for multiple cameras(windows/views/channels)
Definition: DtSilverLiningCubeMapManager.h:51
const char * creatorTypeName< DtSilverLiningCubeMapManager >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtSilverLiningCubeMapManager.h:48
virtual void releaseGLObjects(osg::State *state)
release OpenGL objects
unsigned int myID
Definition: DtSilverLiningCubeMapManager.h:34
DtDe & myDe
Definition: DtSilverLiningCubeMapManager.h:90
Definition: DtSilverLiningCubeMapManager.h:27
DtSilverLiningCubeMapManager & operator=(const DtSilverLiningCubeMapManager &rhs)=delete
not allowed
Contains DLL export macros.
unsigned int myCurrentUpdateFace
Definition: DtSilverLiningCubeMapManager.h:35
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: DtSilverLiningCubeMapManager.h:31
DtSilverLiningCubeMapManager(DtDe &de)
constructor
virtual unsigned int findCubeMap(const osg::ref_ptr< const osg::Camera > osgCamera) const
find the cube map for a given osg camera
friend DtSilverLiningCubeMapManagerCreator
only creator can create
Definition: DtSilverLiningCubeMapManager.h:55
std::map< osg::observer_ptr< const osg::Camera >, DtSilverLiningCubeMapData * > MapCameraToCubeMapData
Definition: DtSilverLiningCubeMapManager.h:87
virtual DtSilverLiningCubeMapData * getOrCreateCubeMapData(osg::Camera *osgCamera, const osg::Vec3d &camPos)
get the cube map data associated with a given osg camera
MapCameraToCubeMapData myMapCameraToCubeMapData
Definition: DtSilverLiningCubeMapManager.h:88
DtVirtualBaseClassCreator< DtSilverLiningCubeMapManager > DtSilverLiningCubeMapManagerCreator
creator
Definition: DtSilverLiningCubeMapManager.h:41

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)