VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrvCore
DtSynchronizedTimeManager.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2016 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvCore/vrvCore.h
>
13
#include <
vrvUtil/DtVirtualBaseClass.h
>
14
15
namespace
makVrv
16
{
17
class
DtDe;
18
25
class
DT_DLL_VRVCORE
DtSynchronizedTimeManager
26
{
27
public
:
29
friend
class
DtSynchronizedTimeManagerCreator
;
30
32
virtual
~DtSynchronizedTimeManager
() {};
33
36
virtual
double
syncedTime()
const
;
37
42
virtual
double
timeEpoch()
const
;
43
45
46
47
48
49
50
51
52
53
54
55
56
57
58
virtual
void
setTimeScaleFactor(
double
scale );
59
virtual
double
timeScaleFactor()
const
;
61
63
64
65
66
67
virtual
void
setTimeOffset(
double
offset );
68
virtual
double
timeOffset()
const
;
70
74
virtual
double
calcScaledTimeOffset(
double
scaleFactor )
const
;
75
76
protected
:
77
79
DtSynchronizedTimeManager
(
DtDe
& de );
80
83
virtual
void
calcTimeEpoch();
84
85
private
:
86
88
DtSynchronizedTimeManager
();
89
91
DtSynchronizedTimeManager
(
const
DtSynchronizedTimeManager
& orig );
92
94
DtSynchronizedTimeManager
& operator=(
const
DtSynchronizedTimeManager
& rhs );
95
96
protected
:
97
98
bool
myTimeEpochCalculated
;
// flag telling whether the epoch has been calculated
99
DtDe
&
myDe
;
// reference to de (used to call for simulationTime() or systemTime()
100
double
myTimeEpoch
;
// The time from which synchronized time is measured
101
double
myTimeOffset
;
// An offset that may be added at the end; default is 0.
102
double
myTimeScaleFactor
;
// The frame delta is scaled by this; default is 1.
103
};
104
108
class
DT_DLL_VRVCORE
DtSynchronizedTimeManagerCreator
:
public
DtVirtualBaseClass
109
{
110
public
:
112
DtSynchronizedTimeManagerCreator
()
113
{
114
}
115
117
virtual
~
DtSynchronizedTimeManagerCreator
()
118
{
119
}
120
122
static
DtSynchronizedTimeManagerCreator
& instance(
DtDe
& de );
123
125
static
void
registerInstance(
DtDe
& de,
DtSynchronizedTimeManagerCreator
* inst);
126
128
virtual
DtSynchronizedTimeManager
* create(
DtDe
& de );
129
};
130
131
}
Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)