VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSilverLiningGroupTcsUserData.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
16 
17 #include <vrvCore/DtKeyedData.h>
18 
20 
21 #include <matrix/geodeticCoord.h>
22 
23 #include <osg/LightSource>
24 
25 #include <unordered_map>
26 
27 namespace SilverLining
28 {
29  class LocalTime;
30  class Location;
31  class Atmosphere;
32  class ThreadCameraStreamData;
33  class CloudLayer;
34 }
35 
36 namespace makVrv
37 {
38  class DtCoordinateSystem;
39  class DtSilverliningGroup;
40  class DtSilverLiningShaderUniformManager;
41  class DtIntersector;
42  class DtSilverLiningShadersContainer;
43  class DtProgramUniformLocationMap;
44 
47  {
48  public:
49  DtSilverLiningGroupTcsUserData(DtDe& de, const std::string& name);
51  private:
58 
59  public:
61  const osg::Camera* myOsgCameraPtr = nullptr;
62  void* myGlContext = nullptr;
63  SilverLining::ThreadCameraStreamData* mySlTcsData = nullptr;
64 
65  SilverLining::LocalTime* myLocalTime = nullptr;
66  SilverLining::Location* myLocation = nullptr;
67 
69  DtGeodeticCoord myGeod;
70  DtReferenceEllipsoid myRefEllip;
71 
74 
76 
77  // work space set for getting/working with shaders for a given thread/camera/stream
78 
80 
81  // This is used for per view fading
83  bool myForceHOTUpdate = true;
84  double myHOT = 0.0;
87  bool mySkipUpdateAltitudes = false;
88  std::unordered_map<SilverLining::CloudLayer*, double> myOriginalAltitudesMap;
89 
91 
93 
94  bool myForceRelight = false;
95 
97 
98  Vector3_32 myUpVector = { 0, 1, 0 };
99  Vector3_32 myRightVector = { 1, 0, 0 };
100 
101  float mySunAlpha = 1.0f;
102 
104  protected:
107  virtual void slot_useGlobalTimeZoneChanged();
108 
110  virtual void slot_coordinateSystemChanged();
111 
113  virtual int calculateZoneByLongitude(double longitude) const;
114 
115  protected:
117  protected:
118  static std::atomic<int> theCount;
119  static const bool theCountLog;
120  };
121 
124 
126  template <>
127  inline const char* creatorTypeName<DtSilverLiningGroupTcsUserData>(void) { return "DtSilverLiningGroupTcsUserDataCreator"; }
128 
135  {
136  public:
137  DtSilverLiningGroupSkyLightTcsUserData(DtDe& de, const std::string& name);
139  private:
146  public:
149  };
150 
153 
155  template <>
156  inline const char* creatorTypeName<DtSilverLiningGroupSkyLightTcsUserData>(void) { return "DtSilverLiningGroupSkyLightTcsUserDataCreator"; }
157 }
DtSilverLiningGroupSkyLightTcsUserData & operator=(const DtSilverLiningGroupSkyLightTcsUserData &rhs)=delete
not allowed
bool myForceRelight
Definition: DtSilverLiningGroupTcsUserData.h:94
static std::atomic< int > theCount
Definition: DtSilverLiningGroupTcsUserData.h:118
osg::ref_ptr< osg::LightSource > mySkyLight
This is camera/view specific.
Definition: DtSilverLiningGroupTcsUserData.h:148
DtCoordinateSystem * myCoordinateSystem
Definition: DtSilverLiningGroupTcsUserData.h:68
This represents an arbitrary user pointer/data within DtKeyedData.
Definition: DtKeyedData.h:95
Vector3_32 myUpVector
Definition: DtSilverLiningGroupTcsUserData.h:98
This represents per camera, context (tcs) specific data for DtSilverLiningGroup Unlike DtSilverLining...
Definition: DtSilverLiningGroupTcsUserData.h:134
Simple class so that SilverLining headers can be hidden from being exposed in DtSilverLiningGroupTcsU...
Definition: DtSilverLiningShadersContainer.h:19
virtual void slot_useGlobalTimeZoneChanged()
If set to true at next update use UTC time to position sun/moon, else use local timezone based on the...
SilverLining::Location * myLocation
Definition: DtSilverLiningGroupTcsUserData.h:66
SilverLining::LocalTime * myLocalTime
Definition: DtSilverLiningGroupTcsUserData.h:65
DtIntersector is an abstract class that provides the interface for requesting intersections with the ...
Definition: DtIntersector.h:25
void * myGlContext
Definition: DtSilverLiningGroupTcsUserData.h:62
virtual int calculateZoneByLongitude(double longitude) const
helper
intermediate structure for computing and returning fog parameters
Definition: DtSilverLiningFogParameters.h:19
This represents per camera, context (tcs) specific data for DtSilverLiningGroup.
Definition: DtSilverLiningGroupTcsUserData.h:46
DtSilverLiningShadersContainer * myShadersScratchPad
Definition: DtSilverLiningGroupTcsUserData.h:79
DtProgramUniformLocationMap * myProgramUniformLocationMap
Definition: DtSilverLiningGroupTcsUserData.h:92
float mySunAlpha
Definition: DtSilverLiningGroupTcsUserData.h:101
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
static const bool theCountLog
Definition: DtSilverLiningGroupTcsUserData.h:119
DtSilverLiningFogParameters myOverriddenFogProperties
Definition: DtSilverLiningGroupTcsUserData.h:72
DtSilverLiningGroupSkyLightTcsUserData()=delete
not allowed
DtSilverLiningShaderUniformManager * myShaderUniformManager
Definition: DtSilverLiningGroupTcsUserData.h:75
DtReferenceEllipsoid myRefEllip
Definition: DtSilverLiningGroupTcsUserData.h:70
bool myLastAtmosphereFogEnabled
Definition: DtSilverLiningGroupTcsUserData.h:96
Contains makVrv::DtSilverLiningFogParameters class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
const osg::Camera * myOsgCameraPtr
back pointer to camera
Definition: DtSilverLiningGroupTcsUserData.h:61
const char * creatorTypeName< DtSilverLiningGroupSkyLightTcsUserData >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtSilverLiningGroupTcsUserData.h:156
std::unordered_map< SilverLining::CloudLayer *, double > myOriginalAltitudesMap
Definition: DtSilverLiningGroupTcsUserData.h:88
DtSignalConnectionManager myConnections
Definition: DtSilverLiningGroupTcsUserData.h:116
DtIntersector * myIntersector
Definition: DtSilverLiningGroupTcsUserData.h:90
SilverLining::ThreadCameraStreamData * mySlTcsData
Definition: DtSilverLiningGroupTcsUserData.h:63
DtGeodeticCoord myGeod
Definition: DtSilverLiningGroupTcsUserData.h:69
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
bool mySkipUpdateAltitudes
This flag is used to skip updating the altitude when an environment changed, since the actual change ...
Definition: DtSilverLiningGroupTcsUserData.h:87
Definition: DtSilverLiningCubeMapData.h:27
virtual void slot_coordinateSystemChanged()
slot for when the coordinate system changes
Base class to provide boost signal/slot management.
DtSilverLiningGroupTcsUserData & operator=(const DtSilverLiningGroupTcsUserData &rhs)=delete
not allowed
bool myDrawSunAndMoonIntoEnvMap
Definition: DtSilverLiningGroupTcsUserData.h:103
bool myForceHOTUpdate
Definition: DtSilverLiningGroupTcsUserData.h:83
Contains DLL export macros.
double myHOT
Definition: DtSilverLiningGroupTcsUserData.h:84
Vector3_64 myLastHOTUpdatePos
Definition: DtSilverLiningGroupTcsUserData.h:82
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:76
Vector3_32 myRightVector
Definition: DtSilverLiningGroupTcsUserData.h:99
const char * creatorTypeName< DtSilverLiningGroupTcsUserData >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtSilverLiningGroupTcsUserData.h:127
Definition: DtProgramUniformLocationMap.h:26
DtVirtualBaseClassCreator< DtSilverLiningGroupSkyLightTcsUserData, const std::string & > DtSilverLiningGroupSkyLightTcsUserDataCreator
creator
Definition: DtSilverLiningGroupTcsUserData.h:152
DtSilverLiningGroupTcsUserData()=delete
not allowed
DtVirtualBaseClassCreator< DtSilverLiningGroupTcsUserData, const std::string & > DtSilverLiningGroupTcsUserDataCreator
creator
Definition: DtSilverLiningGroupTcsUserData.h:123
Manages per thread/camera/stream shader locations.
Definition: DtSilverLiningShaderUniformManager.h:76
Contains the DtKeyedData class declaration.
DtSilverLiningCubeMapData myCubeMapData
Definition: DtSilverLiningGroupTcsUserData.h:73
Contains makVrv::DtSilverLiningCubeMapData class.
Definition: vrfObjectManipulationHandlerBaseClass.h:66

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)