VR-Forces 4.7 Class Documentation
 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 myUnused5;
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  // This doesn't need to be called explicitly. If any routine that needs
101  // the repository finds that it hasn't been created yet, it calls this
102  // method.
103  virtual bool createNetworkRepresentation();
104 
105  // returns the network representation of the environmental record
106  virtual const DtNetCloudLayerStateRecord* objStateNetRep() const;
107  virtual DtNetCloudLayerStateRecord* objStateNetRep();
108 
109  // used by the PDU class to fill in the network representation
110  virtual void setFromNet(const DtNetEnvironmentalRecord& buffer, int protocolVersion);
111 
112  virtual int netRepSize() const;
113 
114 protected:
115 
116  virtual bool resizeNetRep(int newSize);
117 
118  // Casts the 'this' pointer for changing elements in a const function.
119  DtVrfCloudLayerStateRecord* self() const;
120 
121 protected:
123 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)