10 #include <vlpi/netStructs.h>
12 #include <matrix/vlVector.h>
13 #include <vrfOM/sets/writeCloudLayerRepository.hpp>
14 #include <vrfOM/sets/readCloudLayerRepository.hpp>
40 virtual
void setCloudBox(const
DtVector& geocentricCenter,
double length,
double width) {
throw DtUnimplementedMethod(
"void setCloudBox in unimplemented."); };
56 const double cloudAltitude()
const;
57 void setCloudAltitude(
const double&);
59 const double cloudThickness()
const;
60 void setCloudThickness(
const double&);
62 const double cornerRadius()
const;
63 void setCornerRadius(
const double&);
65 const double cloudDensity()
const;
66 void setCloudDensity(
const double&);
68 const bool lightningPresent()
const;
69 void setLightningPresent(
const bool&);
71 const UInt32 flags()
const;
72 void setFlags(
const UInt32&);
74 const double ceiling()
const;
75 void setCeiling(
const double&);
77 void setCloudBox(
const DtVector& geocentricCenter,
double length,
double width);
78 void cloudBox(
DtVector& geocentricCenter,
double& length,
double& width)
const;
80 const double floor()
const;
83 virtual void makeWritable();
86 virtual void makeReadOnly();
101 const double cloudAltitude()
const;
102 const double cloudThickness()
const;
103 const double cornerRadius()
const;
104 const double cloudDensity()
const;
105 const bool lightningPresent()
const;
106 const UInt32 flags()
const;
107 const double ceiling()
const;
108 const double floor()
const;
109 const bool cloudLayerEnabled()
const;
110 void cloudBox(
DtVector& geocentricCenter,
double& length,
double& width)
const;
112 bool readComponentValid()
const;
113 bool findReadComponent();
114 void cloudLayerUpdated();
136 if (!myFoundComponent)
138 myFoundComponent = myCurrentFrameState.findReadComponent();
141 myCurrentFrameState.emitComponentUpdated();
146 myCurrentFrameState.updateStateData(sd);
147 myNextFrameState.updateStateData(sd);
153 myCurrentFrameState.aboutToBeDeleted();
154 myNextFrameState.aboutToBeDeleted();
157 virtual bool forceAdvance()
override;
160 virtual void firstFrameAdvance()
override;
virtual const bool cloudLayerEnabled() const
This will only be relevant for the current frame as this looks at another component.
Definition: cloudLayerStateComponent.h:44
unsigned int UInt32
Definition: stateDataTypes.h:18
Definition: stateDataTypes.h:23
virtual const DtFrameStateInterface * nextFrameState() const
Definition: cloudLayerStateComponent.h:132
VRF::ReadCloudLayerRepository myReadCloudLayerRepository
Definition: cloudLayerStateComponent.h:117
Definition: stateComponent.h:257
void updateDataStorage()
Implement to update data storage. Called from advanceFrame.
Definition: cloudLayerStateComponent.h:134
DtStateComponentCreator< DtCloudLayerStateComponentImplementation > DtCloudLayerStateComponentCreator
5) Define the creator. This will need to be registered with the REGISTER_STATE_COMPONENT macro in the...
Definition: cloudLayerStateComponent.h:170
virtual void cloudBox(DtVector &geocentricCenter, double &length, double &width) const
Definition: cloudLayerStateComponent.h:41
#define UNDEFINED_RETURNVALUE_ACCESSOR(ReturnType, Member)
Definition: doubleBufferedDataStorage.h:31
unsigned int myCallbackHandle
Definition: cloudLayerStateComponent.h:119
Definition: stateComponent.h:76
CloudLayerCloudType
Definition: vrfCloudLayerStateEnums.h:14
virtual void aboutToBeDeleted() override
Definition: cloudLayerStateComponent.h:150
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
#define DEFINE_STATE_COMPONENT_TYPE(CreatedComponent)
Definition: stateComponent.h:219
Contains the enums for cloud layers.
bool isDoubleBuffered()
Definition: cloudLayerStateComponent.h:129
Subclass from this to indicate that this will be a double buffered state component.
Definition: stateComponent.h:365
virtual DtFrameStateInterface * nextFrameState()
Definition: cloudLayerStateComponent.h:131
bool myFoundComponent
Definition: cloudLayerStateComponent.h:165
#define UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(Type, Member, Set)
Definition: doubleBufferedDataStorage.h:53
virtual void aboutToBeDeleted()
3) Define the current frame class. This will be used for read access.
Definition: cloudLayerStateComponent.h:94
void updateStateData(DtStateData *sd)
Implement to update data storage to the new state data.
Definition: cloudLayerStateComponent.h:144
DtCloudLayerStateComponentCurrentFrame myCurrentFrameState
Definition: cloudLayerStateComponent.h:163
DtStateData * myStateData
Definition: cloudLayerStateComponent.h:90
2) Define the next frame class. This will be used for write access.
Definition: cloudLayerStateComponent.h:48
4) Define the state component that will contain the wrappers to the next and current frame states tha...
Definition: cloudLayerStateComponent.h:124
DtCloudLayerStateComponentNextFrame myNextFrameState
Definition: cloudLayerStateComponent.h:164
#define DT_DLL_vrfStateData
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfStateDataDefines.h:26
const DtFrameStateInterface * currentFrameState() const
Definition: cloudLayerStateComponent.h:130
VRF::WriteCloudLayerRepository myWriteCloudLayerRepository
Definition: cloudLayerStateComponent.h:89
Contains the DtStateComponent class declaration.
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: cloudLayerStateComponent.h:20
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:282
DtStateData * myStateData
Definition: cloudLayerStateComponent.h:118