VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfElevationalConfigurationStateRecord.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
11 #include <vl/environmentalRecord.h>
12 #include <vlpi/disEnums.h>
13 
14 // This record will represent an elevational configuration in the environment.
15 // A weather area can have multiples of these records and they should be
16 // ordered by altitude.
17 
19 {
20  DtNetEnvironmentalRecord myHeader;
21  DtNetU32 myRecordVersion;
22  DtNetFloat64 myBaseAltitude;
23  DtNetFloat64 myWindSpeed;
24  DtNetFloat64 myWindDirection;
25  DtNetFloat64 myVisibilityDistance;
27  DtNetInt32 myCloudType;
28  DtNetFloat64 myCloudDensity;
29  DtNetFloat64 mySkyCoverage;
30 };
31 
34 {
35 public:
36  // Default Constructor. To function properly, the state record should be
37  // initialized with an entity type. If you don't know it yet at creation
38  // time, you can use this constructor; but call setEntityType() before
39  // using the appearance accessors.
41 
45 
47 
48  // Assignment Operator
51 
52  // Destructor
54 
55  // Clone. Return a copy of this instance.
56  virtual DtEnvironmentalRecord* clone() const;
57 
58  // See #myBaseAltitude
60  virtual void setBaseAltitude(double value);
61  virtual double baseAltitude() const;
63 
64  // See #myWindSpeed
66  virtual void setWindSpeed(double value);
67  virtual double windSpeed() const;
69 
70  // See #myWindDirection
72  virtual void setWindDirection(double value);
73  virtual double windDirection() const;
75 
76  // See #myVisibilityDistance
78  virtual void setVisibilityDistance(double value);
79  virtual double visibilityDistance() const;
81 
82  // See #myVisibilityObscurant
84  virtual void setVisibilityObscurant(DtVrfWeatherVisibilityObscurantType value);
85  virtual DtVrfWeatherVisibilityObscurantType visibilityObscurant() const;
87 
88  // See #myCloudType
90  virtual void setCloudType(int value);
91  virtual int cloudType() const;
93 
94  // See #myCloudDensity
96  virtual void setCloudDensity(double value);
97  virtual double cloudDensity() const;
99 
100  // See #mySkyCoverage
102  virtual void setSkyCoverage(double value);
103  virtual double skyCoverage() 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  const DtNetElevationalConfigurationStateRecord* objStateNetRep() const;
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  // Casts the 'this' pointer for changing elements in a const function.
124 
125  virtual bool resizeNetRep(int newSize);
126 
127 protected:
129 };
DtNetU32 myVisibilityObscurant
In meters.
Definition: vrfElevationalConfigurationStateRecord.h:26
DtNetFloat64 myBaseAltitude
Definition: vrfElevationalConfigurationStateRecord.h:22
DtNetInt32 myCloudType
Definition: vrfElevationalConfigurationStateRecord.h:27
DtVrfWeatherVisibilityObscurantType
Definition: vrfWeatherStateEnums.h:38
int myNetRepSize
Definition: vrfElevationalConfigurationStateRecord.h:128
Definition: vrfElevationalConfigurationStateRecord.h:32
DtNetFloat64 myVisibilityDistance
In radians.
Definition: vrfElevationalConfigurationStateRecord.h:25
DtNetFloat64 mySkyCoverage
In kg/m^3.
Definition: vrfElevationalConfigurationStateRecord.h:29
DtNetU32 myRecordVersion
Definition: vrfElevationalConfigurationStateRecord.h:21
DtNetEnvironmentalRecord myHeader
Definition: vrfElevationalConfigurationStateRecord.h:20
DtNetFloat64 myWindSpeed
In meters (floor of wind layer – will be valid up to next layer) – MSL.
Definition: vrfElevationalConfigurationStateRecord.h:23
Definition: vrfElevationalConfigurationStateRecord.h:18
DtNetFloat64 myWindDirection
In m/s.
Definition: vrfElevationalConfigurationStateRecord.h:24
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
DtNetFloat64 myCloudDensity
Definition: vrfElevationalConfigurationStateRecord.h:28

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)