VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
cloudLayerPublisher.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 
23 {
24 public:
32  DtExerciseConn* conn,
33  const DtObjectType& type,
34 #if DtHLA
35  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
36 #endif
37  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
38  );
39 
40 #if DtHLA
41  // Create with region set
43  DtExerciseConn* conn,
44  const DtObjectType& type,
45  const DtDDMRegionSet* regionSetToUse,
46  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
47  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
48  );
49 
50 #endif
51 
53  DtEnvironmentProcessRepository* stateRepToUse,
54  DtExerciseConn* conn,
55  const DtObjectType& type,
56 #if DtHLA
57  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
58 #endif
59  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
60 #if DtHLA
61  , const char* name = 0,
62  const DtDDMRegionSet* regionSetToUse = 0
63 #endif
64  );
65 
67  virtual ~DtCloudLayerPublisher();
68 
70  virtual DtCloudLayerRepository* clesr();
71  virtual const DtCloudLayerRepository* clesr() const;
72 
77  virtual void setCloudType(CloudLayerCloudType value);
78  virtual CloudLayerCloudType cloudType() const;
80 
83  virtual void setCloudAltitude(double value);
84  virtual double cloudAltitude() const;
86 
89  virtual void setCloudThickness(double value);
90  virtual double cloudThickness() const;
92 
95  virtual void setCornerRadius(double value);
96  virtual double cornerRadius() const;
98 
101  virtual void setCloudDensity(double value);
102  virtual double cloudDensity() const;
104 
107  virtual void setCloudLayerEnabled(bool value);
108  virtual bool cloudLayerEnabled() const;
110 
113  virtual void setFlags(DtU32 value);
114  virtual DtU32 flags() const;
116 
119  virtual void setCloudBox(const DtVector& center, double width, double length);
120  virtual void getCloudBox(DtVector& center, double& width, double& length);
121 
122 protected:
123  void init();
124 
125 private:
129 };
130 
131 #if DtDIS
132 #include <vl/environmentProcessEncoderDIS.h>
134 {
135 public:
137  virtual bool sendNeeded(
138  const DtEnvironmentProcessRepository& stateRep,
139  const DtEnvironmentProcessRepository& asSeenByRemote);
140 };
141 #endif
Contains the DtControlObjectPublisher class declaration.
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: cloudLayerPublisher.h:22
This class creates a network state repository to aid sending cloud layer objects. ...
Definition: cloudLayerRepository.h:19
CloudLayerCloudType
Definition: vrfCloudLayerStateEnums.h:14
Definition: cloudLayerPublisher.h:133
Definition: objectType.h:27
Contains the enums for cloud layers.
DtCloudLayerEncoder()
Definition: cloudLayerPublisher.h:136
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: controlObjectPublisher.h:31
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtControlObjectPublisher & operator=(const DtControlObjectPublisher &)
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)