VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTritonBreakingWavesMapManager.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 <vrvTriton/vrvTriton.h>
13 
15 
17 
18 #include <osg/Camera>
19 #include <osg/Drawable>
20 #include <osg/Texture2D>
21 
22 namespace makVrv
23 {
24  class DtTritonDrawable;
25  class DtCoordinateConverter;
26  class DtDe;
27 
30 
33 
35  template <>
36  inline const char* creatorTypeName<DtTritonBreakingWavesMapManager>(void) { return "DtTritonBreakingWavesMapManagerCreator"; }
37 
41  {
42  public:
45 
46  protected:
49 
52 
53  private:
59  DtTritonBreakingWavesMapManager &operator=(const DtTritonBreakingWavesMapManager &other) = delete;
60  public:
62  virtual void setBreakingWavesMapResolution(float metersPerTexel);
63 
65  virtual float breakingWavesMapResolution() const;
66 
69  virtual bool updateBreakingWaves( unsigned int frameNum,
70  const osg::Vec3& currentPosition);
71 
73  virtual const osg::Matrix& breakingWavesMapMatrix();
74 
77  virtual const osg::Texture2D* breakingWavesMapTexture();
78 
80  virtual bool hasBreakingWavesMap() const;
81 
83  virtual void forceUpdate();
84 
86  virtual void releaseGlObjects();
87 
88  public:
89  bool myBreakingWavesMapChangedFlag = true;
90 
91  protected:
93  virtual void setupBreakingWavesMap(void);
94 
96  virtual void slot_coordinateSystemChanged();
97 
98  protected:
101  float myResolution = 10.0f;
104 
109 
111 
113 
116  DtCoordinateConverter* myCoordinateConverter = nullptr;
117  };
118 
119 }
double myLastUpdateTime
Definition: DtTritonBreakingWavesMapManager.h:102
DtCoordinateConverter is the base class for &#39;local (cig) to geocentric&#39; converters.
Definition: DtCoordinateConverter.h:25
DtSignalConnectionManager myConnections
Definition: DtTritonBreakingWavesMapManager.h:112
int myBreakingWavesMapDimension
Definition: DtTritonBreakingWavesMapManager.h:108
osg::Vec3 myLastBreakingWavesUpdatePos
Definition: DtTritonBreakingWavesMapManager.h:99
DtVirtualBaseClassCreator< DtTritonBreakingWavesMapManager > DtTritonBreakingWavesMapManagerCreator
creator
Definition: DtTritonBreakingWavesMapManager.h:29
Contains DLL export macros.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
osg::Matrix myBreakingWavesMapMatrix
Definition: DtTritonBreakingWavesMapManager.h:107
makVrv::DtDe & myDe
Definition: DtTritonBreakingWavesMapManager.h:110
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
osg::ref_ptr< osg::Image > myBreakingWavesImage
Definition: DtTritonBreakingWavesMapManager.h:106
Base class to provide boost signal/slot management.
bool myHasBreakingWaves
Definition: DtTritonBreakingWavesMapManager.h:103
A class to manage automatic periodic updating of a breaking wave direction map generated from shapefi...
Definition: DtTritonBreakingWavesMapManager.h:40
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:72
osg::ref_ptr< osg::Texture2D > myBreakingWavesMap
Definition: DtTritonBreakingWavesMapManager.h:105
const char * creatorTypeName< DtTritonBreakingWavesMapManager >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtTritonBreakingWavesMapManager.h:36
bool myForceUpdate
Definition: DtTritonBreakingWavesMapManager.h:100
friend DtTritonBreakingWavesMapManagerCreator
friend class for creating this class
Definition: DtTritonBreakingWavesMapManager.h:48

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)