Class DoubleVectorRelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends DoubleScalarAbs<AU,A,RU,R>,AV extends DoubleVectorAbs<AU,A,AV,RU,R,RV>,RU extends Unit<RU>,R extends DoubleScalarRelWithAbs<AU,A,RU,R>,RV extends DoubleVectorRelWithAbs<AU,A,AV,RU,R,RV>>
java.lang.Object
org.djunits.value.IndexedValue<U,S,V,D>
org.djunits.value.base.Vector<U,S,V,DoubleVectorData>
org.djunits.value.vdouble.vector.base.DoubleVector<U,S,RV>
org.djunits.value.vdouble.vector.base.DoubleVectorRel<RU,R,RV>
org.djunits.value.vdouble.vector.base.DoubleVectorRelWithAbs<AU,A,AV,RU,R,RV>
- Type Parameters:
AU
- the absolute unit belonging to the relative unitA
- the absolute scalar type belonging to the absolute vector typeAV
- the (immutable or mutable) absolute vector typeRU
- the relative unit belonging to the absolute unitR
- the relative scalar type belonging to the relative vector typeRV
- the relative (immutable or mutable) vector type with this unit
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<R>
,Relative<RU,
,RV> RelWithAbs<AU,
,AV, RU, RV> Value<RU,
RV>
- Direct Known Subclasses:
AngleVector
,DurationVector
,LengthVector
,TemperatureVector
public abstract class DoubleVectorRelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends DoubleScalarAbs<AU,A,RU,R>,AV extends DoubleVectorAbs<AU,A,AV,RU,R,RV>,RU extends Unit<RU>,R extends DoubleScalarRelWithAbs<AU,A,RU,R>,RV extends DoubleVectorRelWithAbs<AU,A,AV,RU,R,RV>>
extends DoubleVectorRel<RU,R,RV>
implements RelWithAbs<AU,AV,RU,RV>
AbstractMutableDoubleVectorRelWithAbs.java.
Copyright (c) 2019-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License.
- Author:
- Alexander Verbraeck
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.djunits.value.vdouble.vector.base.DoubleVector
DoubleVector.Itr
-
Field Summary
Fields inherited from class org.djunits.value.vdouble.vector.base.DoubleVector
data
-
Constructor Summary
ModifierConstructorDescriptionprotected
DoubleVectorRelWithAbs
(DoubleVectorData data, RU unit) Construct a new Relative Mutable DoubleVector. -
Method Summary
Modifier and TypeMethodDescriptionabstract A
instantiateScalarAbsSI
(double valueSI, AU displayUnit) Instantiate a new absolute scalar for the class of this relative vector.abstract AV
instantiateVectorAbs
(DoubleVectorData dvd, AU displayUnit) Instantiate a new absolute vector of the class of this relative vector.Add an Absolute value to this relative value.Methods inherited from class org.djunits.value.vdouble.vector.base.DoubleVectorRel
decrementBy, decrementBy, divide, divide, divide, divideBy, incrementBy, incrementBy, minus, multiplyBy, plus, times, times, times, zSum
Methods inherited from class org.djunits.value.vdouble.vector.base.DoubleVector
abs, assign, ceil, checkIndex, checkSize, equals, floor, get, getData, getInUnit, getInUnit, getScalars, getSI, getValuesInUnit, getValuesInUnit, getValuesSI, hashCode, instantiateScalarSI, instantiateVector, iterator, neg, rint, set, setData, setInUnit, setInUnit, setSI, size, toDense, toSparse, toString, toString, toString, toString
Methods inherited from class org.djunits.value.IndexedValue
cardinality, checkCopyOnWrite, clone, getDisplayUnit, getScalarClass, getStorageType, immutable, isCopyOnWrite, isDense, isMutable, isSparse, mutable, setCopyOnWrite, setDisplayUnit, setMutable
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.djunits.value.Relative
divide, divide, minus, plus, times, times
Methods inherited from interface org.djunits.value.Value
isAbsolute, isRelative
-
Constructor Details
-
DoubleVectorRelWithAbs
Construct a new Relative Mutable DoubleVector.- Parameters:
data
- DoubleVectorData; an internal data objectunit
- RU; the unit
-
-
Method Details
-
plus
Description copied from interface:RelWithAbs
Add an Absolute value to this relative value. A new value is returned due to immutability. The unit of the result is the unit of the absolute operand. -
instantiateVectorAbs
Instantiate a new absolute vector of the class of this relative vector. This can be used instead of the DoubleVector.instiantiate() methods in case another vector of this relative with absolute class is known. The method is faster than DoubleVector.instantiate, and it will also work if the vector is user-defined.- Parameters:
dvd
- DoubleVectorData; the data used to instantiate the vectordisplayUnit
- AU; the display unit of the absolute vector- Returns:
- AV; an absolute vector of the correct type, belonging to this relative vector type
-
instantiateScalarAbsSI
Instantiate a new absolute scalar for the class of this relative vector. This can be used instead of the DoubleScalar.instiantiate() methods in case a vector of this class is known. The method is faster than DoubleScalar.instantiate, and it will also work if the vector and/or scalar are user-defined.- Parameters:
valueSI
- double; the SI value of the absolute scalardisplayUnit
- AU; the unit in which the absolute value will be displayed- Returns:
- A; an absolute scalar of the correct type, belonging to this relative vector type
-