Package gaia.cu9.ari.gaiaorbit.util.time
Class GlobalClock
- java.lang.Object
-
- gaia.cu9.ari.gaiaorbit.util.time.GlobalClock
-
- All Implemented Interfaces:
IObserver
,ITimeFrameProvider
public class GlobalClock extends java.lang.Object implements 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.
-
-
Constructor Summary
Constructors Constructor Description GlobalClock(double timeWrap, java.time.Instant instant)
Creates a new GlobalClock
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getDt()
Provides the time difference in hoursfloat
getFixedRate()
Returns the fixed frame rate if the mode is fixed frame rate.java.time.Instant
getTime()
Gets the current timedouble
getWarpFactor()
Gets the current warp factorboolean
isFixedRateMode()
Returns whether the frame rate is set to fixed or notboolean
isTimeOn()
Is the time on?void
notify(Events event, java.lang.Object... data)
void
setTimeWarp(double tw)
void
update(double dt)
Update function
-
-
-
Field Detail
-
time
public java.time.Instant time
The current time of the clock
-
hdiff
public double hdiff
The hour difference from the last frame
-
timeWarp
public double timeWarp
Represents the time wrap multiplier. Scales the real time
-
fps
public float fps
The fixed frame rate when not in real time. Set negative to use real time
-
-
Method Detail
-
update
public void update(double dt)
Update function- Specified by:
update
in interfaceITimeFrameProvider
- Parameters:
dt
- Delta time in seconds
-
getTime
public java.time.Instant getTime()
Description copied from interface:ITimeFrameProvider
Gets the current time- Specified by:
getTime
in interfaceITimeFrameProvider
- Returns:
- The time as an instant
-
notify
public void notify(Events event, java.lang.Object... data)
-
setTimeWarp
public void setTimeWarp(double tw)
-
getDt
public double getDt()
Provides the time difference in hours- Specified by:
getDt
in interfaceITimeFrameProvider
- Returns:
- The time difference
-
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
-
-