VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
cloudLayerRepository.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2025 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
15 
17 
21 {
22 public:
23 
25 
28 
29  virtual ~DtCloudLayerRepository() override;
30 
31  // Utility to compare this repository against a remote estimate
32  // Returns True is an update should be sent; False otherwise
33  virtual bool sendNeeded(const DtEnvironmentProcessRepository& asSeenByRemote);
34 
35  void setClock(DtClock* clock);
36  DtClock* clock() const;
37 
38  double lastUpdateTime() const;
39  void setLastUpdateTime(DtTime t);
40 
44  virtual void setCloudType(CloudLayerCloudType value);
45  virtual CloudLayerCloudType cloudType() const;
47 
50  virtual void setCloudAltitude(double value);
51  virtual double cloudAltitude() const;
53 
56  virtual void setCloudThickness(double value);
57  virtual double cloudThickness() const;
59 
62  virtual void setCornerRadius(double value);
63  virtual double cornerRadius() const;
65 
68  virtual void setCloudDensity(double value);
69  virtual double cloudDensity() const;
71 
74  virtual void setCloudLayerEnabled(bool value);
75  virtual bool cloudLayerEnabled() const;
77 
80  virtual void setFlags(DtU32 value);
81  virtual DtU32 flags() const;
83 
85  virtual void setCloudBox(const DtVector& center, double width, double length);
86  virtual void getCloudBox(DtVector& center, double& width, double& length) const;
87 
89  virtual DtVrfCloudLayerStateRecord* cloudLayerStateRecord() const;
90 
92  virtual void updateDataRecords() override;
93 
95  virtual void updateExtensions() override;
96 
97 public:
107  static void getCloudBoxFromCosr(const DtControlObjectRepository& cosr, DtVector& center,
108  double& width, double& length);
109 
110 protected:
111 
112  virtual bool sendRecordsNeeded(const DtEnvironmentProcessRepository& asSeenByRemote);
113  virtual bool sendNetRecNeeded(DtNetEnvironmentalRecord* rec1, DtNetEnvironmentalRecord* rec2);
114  virtual bool sendCloudLayerRecNeeded(DtTime dt, DtNetEnvironmentalRecord* rec, DtNetEnvironmentalRecord* recRemote);
115  virtual DtStateRepository *clone(bool copy) const override;
116 
117 protected:
118 
119  // Helpers for send-side dead reckoning (used to limit #updates sent)
124 };
DtTime myLastUpdateTime
Definition: cloudLayerRepository.h:121
virtual void updateDataRecords()
If myNeedVrfObjectDataUpdate is true, update the vrf object data record. Also sets all vrf specific d...
bool myCloudLayerStateNeedsUpdate
Definition: cloudLayerRepository.h:123
static DtEnvironmentProcessRepository * create()
virtual void updateExtensions() override
Overridden to update property data.
This class creates a network state repository to aid sending cloud layer objects. ...
Definition: cloudLayerRepository.h:19
CloudLayerCloudType
Definition: vrfCloudLayerStateEnums.h:14
Contains the DtExtEntityStateRepository class.
DtControlObjectRepository class extends the DtControlObjectBaseRepository to be able to handle extend...
Definition: controlObjectRepository.h:27
DtClock * myClock
Definition: cloudLayerRepository.h:120
Contains the enums for cloud layers.
virtual DtStateRepository * clone(bool copy=false) const override
Return a copy/empty object of the same type as this.
DtVrfCloudLayerStateRecord * myCloudLayerStateRecord
Definition: cloudLayerRepository.h:122
Definition: vrfCloudLayerStateRecord.h:43
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

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)