Package gaiasky.util.time
Class GlobalClock
java.lang.Object
gaiasky.util.time.GlobalClock
- All Implemented Interfaces:
IObserver
,ITimeFrameProvider
Keeps pace of the simulation time vs real time and holds the global clock. It
uses a time warp factor which is a multiplier to real time.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondouble
getDt()
The frame time difference in seconds.float
Returns the fixed frame rate if the mode is fixed frame rate.double
getHdiff()
Provides the time difference in hoursgetTime()
Gets the current timedouble
Gets the current warp factorboolean
Returns whether the frame rate is set to fixed or notboolean
isTimeOn()
Is the time on?void
Event notification call.void
setTimeWarp
(double tw) void
update
(double dt) Update function
-
Field Details
-
time
The current time of the clock -
fps
public float fpsThe fixed frame rate when not in real time. Set negative to use real time
-
-
Constructor Details
-
GlobalClock
Creates a new GlobalClock- Parameters:
timeWrap
- The time wrap multiplierinstant
- The instant with which to initialise the clock
-
-
Method Details
-
update
public void update(double dt) Update function- Specified by:
update
in interfaceITimeFrameProvider
- Parameters:
dt
- Delta time in seconds
-
getTime
Description copied from interface:ITimeFrameProvider
Gets the current time- Specified by:
getTime
in interfaceITimeFrameProvider
- Returns:
- The time as an instant
-
notify
Description copied from interface:IObserver
Event notification call. -
setTimeWarp
public void setTimeWarp(double tw) -
getHdiff
public double getHdiff()Provides the time difference in hours- Specified by:
getHdiff
in interfaceITimeFrameProvider
- Returns:
- The simulation time difference in hours.
-
getDt
public double getDt()Description copied from interface:ITimeFrameProvider
The frame time difference in seconds.- Specified by:
getDt
in interfaceITimeFrameProvider
- Returns:
- The frame time difference in seconds.
-
getWarpFactor
public double getWarpFactor()Description copied from interface:ITimeFrameProvider
Gets the current warp factor- Specified by:
getWarpFactor
in interfaceITimeFrameProvider
- Returns:
- The warp factor
-
isFixedRateMode
public boolean isFixedRateMode()Description copied from interface:ITimeFrameProvider
Returns whether the frame rate is set to fixed or not- Specified by:
isFixedRateMode
in interfaceITimeFrameProvider
- Returns:
- Whether fix rate mode is on
-
getFixedRate
public float getFixedRate()Description copied from interface:ITimeFrameProvider
Returns the fixed frame rate if the mode is fixed frame rate. Returns -1 otherwise- Specified by:
getFixedRate
in interfaceITimeFrameProvider
- Returns:
- The fixed rate
-
isTimeOn
public boolean isTimeOn()Description copied from interface:ITimeFrameProvider
Is the time on?- Specified by:
isTimeOn
in interfaceITimeFrameProvider
- Returns:
- True if time is on
-