VR-Forces 5.0.2 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) 2018 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
15 
17 
21 {
22 public:
23 
25 
28 
29  virtual ~DtCloudLayerRepository();
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();
93 
95  virtual void updateExtensions();
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;
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
virtual DtStateRepository * clone(bool copy=false) const
Return a copy/empty object of the same type as this.
static DtEnvironmentProcessRepository * create()
This class creates a network state repository to aid sending cloud layer objects. ...
Definition: cloudLayerRepository.h:19
CloudLayerCloudType
Definition: vrfCloudLayerStateEnums.h:14
virtual void updateExtensions()
Overridden to update property data.
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.
DtVrfCloudLayerStateRecord * myCloudLayerStateRecord
Definition: cloudLayerRepository.h:122
Definition: vrfCloudLayerStateRecord.h:43
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)