1 package org.opentrafficsim.road.network.sampling.data;
2
3 import java.util.Optional;
4
5 import org.djunits.unit.DirectionUnit;
6 import org.djunits.value.vfloat.scalar.FloatDirection;
7 import org.djunits.value.vfloat.vector.FloatDirectionVector;
8 import org.opentrafficsim.kpi.sampling.data.ExtendedDataFloat;
9 import org.opentrafficsim.road.network.sampling.GtuDataRoad;
10
11
12
13
14
15 public class WorldDirData extends ExtendedDataFloat<DirectionUnit, FloatDirection, FloatDirectionVector, GtuDataRoad>
16 {
17
18
19
20
21 public WorldDirData()
22 {
23 super("WorldDir", "World direction", FloatDirection.class);
24 }
25
26 @Override
27 public Optional<FloatDirection> getValue(final GtuDataRoad gtu)
28 {
29 return Optional.ofNullable(convertValue((float) gtu.getGtu().getLocation().dirZ));
30 }
31
32 @Override
33 protected FloatDirection convertValue(final float value)
34 {
35 return FloatDirection.ofSI(value);
36 }
37
38 @Override
39 protected FloatDirectionVector convert(final float[] storage)
40 {
41 return new FloatDirectionVector(storage);
42 }
43
44 @Override
45 public FloatDirection parseValue(final String string)
46 {
47 return FloatDirection.ofSI(Float.valueOf(string));
48 }
49
50 }