VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfCloudLayerStateRecord.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 
13 #include <vl/globalObjectDesignatorList.h>
14 #include <vl/environmentalRecord.h>
15 #include <vlpi/disEnums.h>
17 
18 // Definition of the FIXED PORTION of the cloud layer object.
19 
21 {
22  DtNetEnvironmentalRecord myHeader;
23  DtNetU32 myRecordVersion; // Version of this record. This will change in order to be able to read older versions of the record
24  DtNetU32 myCloudType;
25  DtNetFloat64 myCloudAltitude; // The base (bottom) of the cloud layer (in meters)
26  DtNetFloat64 myCloudThickness; // The thickness of the cloud layer (in meters)
27  DtNetFloat64 myCloudDensity; // Density of cloud layer (between 0 - 1)
28  DtNetU8 myCloudLayerEnabled; // 1 if enabled, 0 if not
29  DtNetFloat64 myCornerRadius; // The “roundness” of the corners is determined by the Corner Radius
30  // parameter. Setting this radius to zero (0) shall create a rectangle.
31  // Setting the value equal to one-half that of Size X and Size Y when both
32  // are equal shall create a circle. The corner radius shall be less than or
33  // equal to one half of the smaller of Size X or Size Y."
34  DtNetFloat64 myUnused2;
35  DtNetFloat64 myUnused3;
36  DtNetU32 myUnused4;
37  DtNetU32 myFlags;
38 };
39 
40 //
41 // Class Description: DtVrfCloudLayerStateRecord
42 //
45 {
46 public:
47  // Default Constructor.
49 
52  const DtVrfCloudLayerStateRecord& orig);
53 
54  // Assignment Operator
55  const DtVrfCloudLayerStateRecord& operator=(
56  const DtVrfCloudLayerStateRecord& orig);
57 
58  // Destructor
59  virtual ~DtVrfCloudLayerStateRecord();
60 
61  // Clone. Return a copy of this instance.
62  virtual DtEnvironmentalRecord* clone() const;
63 
64  // See #myCloudType
66  virtual void setCloudType(CloudLayerCloudType value);
67  virtual CloudLayerCloudType cloudType() const;
69 
70  // See #myCloudAltitude
72  virtual void setCloudAltitude(double value);
73  virtual double cloudAltitude() const;
75 
76  // See #myCornerRadius
78  virtual void setCornerRadius(double value);
79  virtual double cornerRadius() const;
81 
82  // See #myCloudLayerEnabled
84  virtual void setCloudLayerEnabled(bool value);
85  virtual bool cloudLayerEnabled() const;
87 
88  // See #myCloudThickness
90  virtual void setCloudThickness(double value);
91  virtual double cloudThickness() const;
93 
94  // See #myCloudDensity
96  virtual void setCloudDensity(double value);
97  virtual double cloudDensity() const;
99 
100  // See #myFlags
102  virtual void setFlags(DtU32 value);
103  virtual DtU32 flags() const;
105 
106  // This doesn't need to be called explicitly. If any routine that needs
107  // the repository finds that it hasn't been created yet, it calls this
108  // method.
109  virtual bool createNetworkRepresentation();
110 
111  // returns the network representation of the environmental record
112  virtual const DtNetCloudLayerStateRecord* objStateNetRep() const;
113  virtual DtNetCloudLayerStateRecord* objStateNetRep();
114 
115  // used by the PDU class to fill in the network representation
116  virtual void setFromNet(const DtNetEnvironmentalRecord& buffer, int protocolVersion);
117 
118  virtual int netRepSize() const;
119 
120 protected:
121 
122  virtual bool resizeNetRep(int newSize);
123 
124  // Casts the 'this' pointer for changing elements in a const function.
125  DtVrfCloudLayerStateRecord* self() const;
126 
127 protected:
129 };
DtNetU32 myRecordVersion
Definition: vrfCloudLayerStateRecord.h:23
DtNetFloat64 myCloudAltitude
Definition: vrfCloudLayerStateRecord.h:25
DtNetFloat64 myUnused2
Definition: vrfCloudLayerStateRecord.h:34
DtNetU8 myCloudLayerEnabled
Definition: vrfCloudLayerStateRecord.h:28
CloudLayerCloudType
Definition: vrfCloudLayerStateEnums.h:14
DtNetU32 myFlags
Definition: vrfCloudLayerStateRecord.h:37
int myNetRepSize
Definition: vrfCloudLayerStateRecord.h:128
DtNetFloat64 myUnused3
Definition: vrfCloudLayerStateRecord.h:35
DtNetFloat64 myCloudDensity
Definition: vrfCloudLayerStateRecord.h:27
Contains the enums for cloud layers.
DtNetFloat64 myCornerRadius
Definition: vrfCloudLayerStateRecord.h:29
DtNetU32 myCloudType
Definition: vrfCloudLayerStateRecord.h:24
Definition: vrfCloudLayerStateRecord.h:43
DtNetEnvironmentalRecord myHeader
Definition: vrfCloudLayerStateRecord.h:22
DtNetU32 myUnused4
Definition: vrfCloudLayerStateRecord.h:36
DtNetFloat64 myCloudThickness
Definition: vrfCloudLayerStateRecord.h:26
Definition: vrfCloudLayerStateRecord.h:20
#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)