VR-Forces 4.8 Class Documentation
 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 
79  virtual void setCloudBox(const DtVector& center, double width, double length);
80  virtual void getCloudBox(DtVector& center, double& width, double& length) const;
81 
83  virtual DtVrfCloudLayerStateRecord* cloudLayerStateRecord() const;
84 
86  virtual void updateDataRecords();
87 
89  virtual void updateExtensions();
90 
91 public:
101  static void getCloudBoxFromCosr(const DtControlObjectRepository& cosr, DtVector& center,
102  double& width, double& length);
103 
104 protected:
105 
106  virtual bool sendRecordsNeeded(const DtEnvironmentProcessRepository& asSeenByRemote);
107  virtual bool sendNetRecNeeded(DtNetEnvironmentalRecord* rec1, DtNetEnvironmentalRecord* rec2);
108  virtual bool sendCloudLayerRecNeeded(DtTime dt, DtNetEnvironmentalRecord* rec, DtNetEnvironmentalRecord* recRemote);
109  virtual DtStateRepository* clone(bool copy) const;
110 
111 protected:
112 
113  // Helpers for send-side dead reckoning (used to limit #updates sent)
118 };
DtTime myLastUpdateTime
Definition: cloudLayerRepository.h:115
virtual void updateDataRecords()
If myNeedVrfObjectDataUpdate is true, update the vrf object data record.
bool myCloudLayerStateNeedsUpdate
Definition: cloudLayerRepository.h:117
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:12
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:114
Contains the enums for cloud layers.
DtVrfCloudLayerStateRecord * myCloudLayerStateRecord
Definition: cloudLayerRepository.h:116
Definition: vrfCloudLayerStateRecord.h:43
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)