Class ExtendedDataFloat<U extends org.djunits.unit.Unit<U>,T extends org.djunits.value.vfloat.scalar.base.FloatScalar<U,T>,O extends org.djunits.value.vfloat.vector.base.FloatVector<U,T,O>,G extends GtuData>
java.lang.Object
org.opentrafficsim.kpi.sampling.DataType<T,G>
org.opentrafficsim.kpi.sampling.data.ExtendedDataType<T,O,float[],G>
org.opentrafficsim.kpi.sampling.data.ExtendedDataFloat<U,T,O,G>
- Type Parameters:
U
- unitT
- type in vectorO
- vector typeG
- gtu data type
- All Implemented Interfaces:
org.djutils.base.Identifiable
- Direct Known Subclasses:
ExtendedDataDuration
,ExtendedDataLength
,ExtendedDataSpeed
public abstract class ExtendedDataFloat<U extends org.djunits.unit.Unit<U>,T extends org.djunits.value.vfloat.scalar.base.FloatScalar<U,T>,O extends org.djunits.value.vfloat.vector.base.FloatVector<U,T,O>,G extends GtuData>
extends ExtendedDataType<T,O,float[],G>
Class to facilitate JUNITS types in extended data.
Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
Constructor Summary
ConstructorDescriptionExtendedDataFloat
(String id, String description, Class<T> type) Constructor setting the id. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract O
convert
(float[] storage) Convert float array to typed array.convert
(float[] storage, int size) Convert storage type to output type.protected abstract T
convertValue
(float value) Convert float to typed value.final T
getOutputValue
(O output, int i) Returns a specific output value.getStorageValue
(float[] storage, int i) Returns a specific storage value.final float[]
Returns an initial storage object.final float[]
Returns an updated list/array/vector of the storage type, including a new value at given index.Methods inherited from class org.opentrafficsim.kpi.sampling.data.ExtendedDataType
getValue, interpolate, parseValue, toString
-
Constructor Details
-
ExtendedDataFloat
Constructor setting the id.- Parameters:
id
- String; iddescription
- String; descriptiontype
- Class<T>; type class
-
-
Method Details
-
setValue
Returns an updated list/array/vector of the storage type, including a new value at given index.- Specified by:
setValue
in classExtendedDataType<T extends org.djunits.value.vfloat.scalar.base.FloatScalar<U,
T>, O extends org.djunits.value.vfloat.vector.base.FloatVector<U, T, O>, float[], G extends GtuData> - Parameters:
storage
- S; storagei
- int; index to store next valuevalue
- T; value to add- Returns:
- updated list/array/vector of the storage type, including a new value at given index
-
initializeStorage
public final float[] initializeStorage()Returns an initial storage object. -
getOutputValue
Returns a specific output value. This is used to store extended data types as generic file, i.e. text file.- Specified by:
getOutputValue
in classExtendedDataType<T extends org.djunits.value.vfloat.scalar.base.FloatScalar<U,
T>, O extends org.djunits.value.vfloat.vector.base.FloatVector<U, T, O>, float[], G extends GtuData> - Parameters:
output
- O; outputi
- int; index of value to return- Returns:
- the i'th output value
- Throws:
SamplingException
- wheni
is out of bounds.
-
getStorageValue
Returns a specific storage value. This is used to bypass conversion to the output type when trajectories are cut.- Specified by:
getStorageValue
in classExtendedDataType<T extends org.djunits.value.vfloat.scalar.base.FloatScalar<U,
T>, O extends org.djunits.value.vfloat.vector.base.FloatVector<U, T, O>, float[], G extends GtuData> - Parameters:
storage
- S; storagei
- int; index of value to return- Returns:
- the i'th output value
- Throws:
SamplingException
- wheni
is out of bounds.
-
convertValue
Convert float to typed value.- Parameters:
value
- float; float value- Returns:
- typed value
-
convert
Convert storage type to output type. -
convert
Convert float array to typed array.- Parameters:
storage
- float[]; float array storage- Returns:
- typed array
- Throws:
org.djunits.value.ValueRuntimeException
- when float array cannot be converted
-