VR-Forces 4.8 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 
102 protected:
104  virtual void postGetSelf();
105 
107  virtual bool checkInVolume() const;
108 
109 private:
112 
113 protected:
116 
117 
122 
127 
132 
141 
146 
148 };
149 
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
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 (between 0 and 1)...
Definition: cloudLayerStateRepository.h:145
*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:12
DtRwReal myCloudThickness
Parameter Name: cloud-thickness Parameter Description: The thickness of the cloud layer (in meters) D...
Definition: cloudLayerStateRepository.h:131
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:126
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:140
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:121
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 Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)