VR-Forces 5.0.1 Developer's Guide
 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) 2022 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 SilverLining
23 {
24  class LocalTime;
25 }
26 
27 namespace makVrv
28 {
30  {
34  };
35 
37  {
38  public:
41 
44  public:
45  osg::Vec3d myLastUpdatePos;
46  unsigned int myID;
47  unsigned int myCurrentUpdateFace;
50 
54  };
55 
58 
61 
63  template <>
64  inline const char* creatorTypeName<DtSilverLiningCubeMapManager>(void) { return "DtSilverLiningCubeMapManagerCreator"; }
65 
68  {
69  public:
72 
75  protected:
78 
79  private:
84 
85  public:
87  virtual void flushInvalidCameras(void);
88 
90  virtual DtSilverLiningCubeMapData* getOrCreateCubeMapData(const osg::Camera* osgCamera, const osg::Vec3d& camPos);
91 
93  virtual void releaseGLObjects(osg::State* state);
94 
97  virtual void updateCubeMap(osg::ref_ptr<const osg::Camera> osgCamera, bool fullRegenerate);
98 
100  virtual unsigned int findCubeMap(osg::ref_ptr<const osg::Camera> osgCamera) const;
101 
104 
106  virtual void setCubeMapDirtyState(int val);
107 
108  protected:
109  typedef std::map<osg::observer_ptr<const osg::Camera>, DtSilverLiningCubeMapData* > MapCameraToCubeMapData;
111 
113  };
114 
115 }
unsigned int myCurrentUpdateFace
Definition: DtSilverLiningCubeMapManager.h:47
virtual unsigned int findCubeMap(osg::ref_ptr< const osg::Camera > osgCamera) const
find the cube map for a given osg camera
Definition: DtSilverLiningCubeMapManager.h:31
virtual void flushInvalidCameras(void)
flush invalid cameras as windows come in/out
bool myNeedsFullRegen
Definition: DtSilverLiningCubeMapManager.h:49
Definition: featureContext.h:37
bool myCubeMapFullRegenerate
Definition: DtSilverLiningCubeMapManager.h:53
osg::Vec3d myLastUpdatePos
Definition: DtSilverLiningCubeMapManager.h:45
virtual void updateCubeMap(osg::ref_ptr< const osg::Camera > osgCamera, bool fullRegenerate)
Request an updated cube map with the next draw for all cameras Also, flush invalid camera if any...
float myCubeMapUpdateTimer
Definition: DtSilverLiningCubeMapManager.h:51
unsigned int myID
Definition: DtSilverLiningCubeMapManager.h:46
Definition: DtSilverLiningCubeMapManager.h:33
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
virtual ~DtSilverLiningCubeMapManager()
destructor
DtCubeMapUpdateState
Definition: DtSilverLiningCubeMapManager.h:29
manages cube maps for multiple cameras(windows/views/channels)
Definition: DtSilverLiningCubeMapManager.h:67
const char * creatorTypeName< DtSilverLiningCubeMapManager >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtSilverLiningCubeMapManager.h:64
virtual void releaseGLObjects(osg::State *state)
release OpenGL objects
virtual DtSilverLiningCubeMapData * findCubeMapData(osg::ref_ptr< const osg::Camera > osgCamera)
find the cube map info/data for a given osg camera
Definition: DtSilverLiningCubeMapManager.h:36
DtDe & myDe
Definition: DtSilverLiningCubeMapManager.h:112
virtual ~DtSilverLiningCubeMapData()
destructor
virtual void setCubeMapDirtyState(int val)
find the cube map info/data for a given osg camera
Definition: DtSilverLiningCubeMapManager.h:32
DtSilverLiningCubeMapManager & operator=(const DtSilverLiningCubeMapManager &rhs)=delete
not allowed
Contains DLL export macros.
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
DtSilverLiningCubeMapManager(DtDe &de)
constructor
virtual DtSilverLiningCubeMapData * getOrCreateCubeMapData(const osg::Camera *osgCamera, const osg::Vec3d &camPos)
get the cube map data associated with a given osg camera
friend DtSilverLiningCubeMapManagerCreator
only creator can create
Definition: DtSilverLiningCubeMapManager.h:71
std::map< osg::observer_ptr< const osg::Camera >, DtSilverLiningCubeMapData * > MapCameraToCubeMapData
Definition: DtSilverLiningCubeMapManager.h:109
MapCameraToCubeMapData myMapCameraToCubeMapData
Definition: DtSilverLiningCubeMapManager.h:110
int myCubeMapDirtyState
Definition: DtSilverLiningCubeMapManager.h:52
DtVirtualBaseClassCreator< DtSilverLiningCubeMapManager > DtSilverLiningCubeMapManagerCreator
creator
Definition: DtSilverLiningCubeMapManager.h:57
DtCubeMapUpdateState myUpdateState
Definition: DtSilverLiningCubeMapManager.h:48

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)