VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfExtObjects
cloudLayerRepository.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
12
#include <
vrfExtObjects/dllExport.h
>
13
#include <
vrfExtObjects/controlObjectRepository.h
>
14
#include <
vrfExtObjects/vrfCloudLayerStateEnums.h
>
15
16
class
DtVrfCloudLayerStateRecord
;
17
19
class
DT_DLL_vrfExtObjects
DtCloudLayerRepository
20
:
public
DtControlObjectRepository
21
{
22
public
:
23
24
static
DtEnvironmentProcessRepository
*
create
();
25
26
DtCloudLayerRepository
();
27
DtCloudLayerRepository
(
const
DtCloudLayerRepository
&);
28
29
virtual
~
DtCloudLayerRepository
();
30
31
// Utility to compare this repository against a remote estimate
32
// Returns True is an update should be sent; False otherwise
33
virtual
bool
sendNeeded(
const
DtEnvironmentProcessRepository
& asSeenByRemote);
34
35
void
setClock(
DtClock
* clock);
36
DtClock
* clock()
const
;
37
38
double
lastUpdateTime()
const
;
39
void
setLastUpdateTime(
DtTime
t);
40
44
virtual
void
setCloudType(
CloudLayerCloudType
value);
45
virtual
CloudLayerCloudType
cloudType()
const
;
47
50
virtual
void
setCloudAltitude(
double
value);
51
virtual
double
cloudAltitude()
const
;
53
56
virtual
void
setCloudThickness(
double
value);
57
virtual
double
cloudThickness()
const
;
59
62
virtual
void
setCornerRadius(
double
value);
63
virtual
double
cornerRadius()
const
;
65
68
virtual
void
setCloudDensity(
double
value);
69
virtual
double
cloudDensity()
const
;
71
74
virtual
void
setCloudLayerEnabled(
bool
value);
75
virtual
bool
cloudLayerEnabled()
const
;
77
79
virtual
void
setCloudBox(
const
DtVector
& center,
double
width,
double
length);
80
virtual
void
getCloudBox(
DtVector
& center,
double
& width,
double
& length)
const
;
81
83
virtual
DtVrfCloudLayerStateRecord
* cloudLayerStateRecord()
const
;
84
86
virtual
void
updateDataRecords
();
87
89
virtual
void
updateExtensions
();
90
91
public
:
101
static
void
getCloudBoxFromCosr(
const
DtControlObjectRepository
& cosr,
DtVector
& center,
102
double
& width,
double
& length);
103
104
protected
:
105
106
virtual
bool
sendRecordsNeeded(
const
DtEnvironmentProcessRepository
& asSeenByRemote);
107
virtual
bool
sendNetRecNeeded(DtNetEnvironmentalRecord* rec1, DtNetEnvironmentalRecord* rec2);
108
virtual
bool
sendCloudLayerRecNeeded(
DtTime
dt, DtNetEnvironmentalRecord* rec, DtNetEnvironmentalRecord* recRemote);
109
virtual
DtStateRepository
*
clone
(
bool
copy)
const
;
110
111
protected
:
112
113
// Helpers for send-side dead reckoning (used to limit #updates sent)
114
DtClock
*
myClock
;
115
DtTime
myLastUpdateTime
;
116
mutable
DtVrfCloudLayerStateRecord
*
myCloudLayerStateRecord
;
117
mutable
bool
myCloudLayerStateNeedsUpdate
;
118
};
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)