VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
cloudLayerStateRepository.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 
20 {
21 public:
22 
25  const DtObjectType& objectType, DtVrfObjectParameters* parameters,
26  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0);
27 
30  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0);
31 
34 
36  virtual ~DtCloudLayerStateRepository();
37 
42  virtual void resetToDefaults();
43 
44  static DtVrfObjectStateRepository* creator(const DtString& name,
45  DtVrfObject* vrfObject, const DtObjectType& objectType,
46  DtVrfObjectParameters* parameters, DtReaderWriterRegistry* parentRegistry);
47 
49  isCloudLayerStateRepository(DtSimObjectStateRepository* repository);
50 
52  virtual DtSimObjectStateRepository* clone(const DtString& rwName = DtString::nullString(),
53  DtReaderWriterRegistry* parentRegistry = 0) const;
54 
55  virtual DtString type() const;
56 
58  virtual void setCeiling(double d);
59 
61 
62  virtual void setCloudType(CloudLayerCloudType value);
63  virtual CloudLayerCloudType cloudType() const;
65 
67 
68  virtual void setCloudAltitude(double value);
69  virtual double cloudAltitude() const;
71 
73 
74  virtual void setCloudThickness(double value);
75  virtual double cloudThickness() const;
77 
79 
80  virtual void setCornerRadius(double value);
81  virtual double cornerRadius() const;
83 
85 
86  virtual void setCloudDensity(double value);
87  virtual double cloudDensity() const;
89 
91  virtual double floor() const;
92 
94  virtual double ceiling() const;
95 
98  virtual void setCloudBox(const DtVector& center, double width, double length);
99  virtual void cloudBox(DtVector& center, double& width, double& length) const;
101 
104  virtual void setLightningPresent(bool isPresent);
105  virtual bool lightningPresent() const;
107 
108 protected:
110  virtual void postGetSelf();
111 
113  virtual bool checkInVolume() const;
114 
115 private:
118 
119 protected:
122 
123 
128 
133 
138 
147 
152 
158 };
159 
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtRwBoolean myLightningPresent
Parameter Name: lightning-present Parameter Description: Whether lightning is present Default Value: ...
Definition: cloudLayerStateRepository.h:156
virtual DtSimObjectStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
Clone.
DtRwReal myCloudDensity
Parameter Name: cloud-density Parameter Description: The density of the cloud layer (often between 0 ...
Definition: cloudLayerStateRepository.h:151
*virtual const DtObjectType & objectType() const
The DtSimObjectStateRepository is an abstract base class (ABC) for all state repositories.
Definition: simObjectStateRepository.h:46
const DtVrfOverlayObjectStateRepository & operator=(const DtVrfOverlayObjectStateRepository &orig)
Assignment Operator.
Definition: readerWriterRegistry.h:39
This repository holds all information that is common to all the forms of all cloud layers...
Definition: cloudLayerStateRepository.h:19
Description: This repository holds all information that is common to all the forms of all entity/aggr...
Definition: vrfObjectStateRepository.h:87
CloudLayerCloudType
Definition: vrfCloudLayerStateEnums.h:14
DtRwReal myCloudThickness
Parameter Name: cloud-thickness Parameter Description: The thickness of the cloud layer (in meters) D...
Definition: cloudLayerStateRepository.h:137
virtual double ceiling() const
Note that if the ceiling becomes lower than the floor the floor will change to match Ceiling is the f...
DtRwReal myCloudAltitude
Parameter Name: cloud-altitude Parameter Description: Altitude above sea level the cloud layer starts...
Definition: cloudLayerStateRepository.h:132
Definition: objectType.h:27
virtual double floor() const
The floor is taken as the altitude of the first point.
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Contains the enums for cloud layers.
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual DtString type() const
returns DtSimObjectStateRepositoryType
DtRwReal myCornerRadius
Parameter Name: corner-radius Parameter Description: The “roundness” of the corners is determined by th...
Definition: cloudLayerStateRepository.h:146
static DtVrfObjectStateRepository * creator(const DtString &name, DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwInt myCloudType
Parameter Name: cloud-type Parameter Description: The cloud layer typw Default Value: Undefined...
Definition: cloudLayerStateRepository.h:127
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual bool checkInVolume() const
Return true if in the inside() call if it should also check floor/ceiling.
Definition: vrfOverlayObjectStateRepository.h:29
virtual void postGetSelf()
Hook function called immediately following getSelf().
virtual void setCeiling(double)

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)