Class DoubleVectorAbs<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<AU,A,AV>
org.djunits.value.vdouble.vector.base.DoubleVectorAbs<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<A>,Absolute<AU,,AV, RU, RV> Value<AU,AV>
- Direct Known Subclasses:
AbsoluteTemperatureVector,DirectionVector,PositionVector,TimeVector
public abstract class DoubleVectorAbs<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 DoubleVector<AU,A,AV>
implements Absolute<AU,AV,RU,RV>
AbstractMutableDoubleVectorRelWithAbs.java.
Copyright (c) 2019-2025 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
ConstructorsModifierConstructorDescriptionprotectedDoubleVectorAbs(DoubleVectorData data, AU unit) Construct a new Relative Mutable DoubleVector. -
Method Summary
Modifier and TypeMethodDescriptiondecrementBy(R decrement) Decrement all values of this vector by the decrement.decrementBy(RV decrement) Decrement all values of this vector by the decrement on a value by value basis.abstract RinstantiateScalarRelSI(double valueSI, RU displayUunit) Instantiate a new relative scalar for the class of this absolute vector.abstract RVinstantiateVectorRel(DoubleVectorData dvd, RU displayUnit) Instantiate a new relative vector of the class of this absolute vector.Subtract an Absolute value from this Absolute value, resulting in a Relative value.Subtract a Relative value from this Absolute value.Add a Relative value to this Absolute value.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, toStringMethods inherited from class org.djunits.value.IndexedValue
cardinality, checkCopyOnWrite, clone, getDisplayUnit, getScalarClass, getStorageType, immutable, isCopyOnWrite, isDense, isMutable, isSparse, mutable, setCopyOnWrite, setDisplayUnit, setMutableMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.djunits.value.Value
isAbsolute, isRelative
-
Constructor Details
-
DoubleVectorAbs
Construct a new Relative Mutable DoubleVector.- Parameters:
data- an internal data objectunit- the unit
-
-
Method Details
-
plus
Description copied from interface:AbsoluteAdd a Relative value to this Absolute value. A new value is returned due to immutability.- Specified by:
plusin interfaceAbsolute<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>> - Parameters:
increment- R the right operand- Returns:
- the sum of this value and the operand
- Throws:
ValueRuntimeException
-
minus
Description copied from interface:AbsoluteSubtract a Relative value from this Absolute value. A new value is returned due to immutability.- Specified by:
minusin interfaceAbsolute<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>> - Parameters:
decrement- R the right operand- Returns:
- the subtraction of this value and the operand
- Throws:
ValueRuntimeException
-
minus
Description copied from interface:AbsoluteSubtract an Absolute value from this Absolute value, resulting in a Relative value. A new value is returned due to immutability.- Specified by:
minusin interfaceAbsolute<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>> - Parameters:
decrement- A the right operand- Returns:
- the subtraction of this value and the operand
- Throws:
ValueRuntimeException
-
decrementBy
Decrement all values of this vector by the decrement. This only works if this vector is mutable.- Parameters:
decrement- the scalar by which to decrement all values- Returns:
- this modified vector
- Throws:
ValueRuntimeException- in case this vector is immutable
-
decrementBy
Decrement all values of this vector by the decrement on a value by value basis. This only works if this vector is mutable.- Parameters:
decrement- the vector that contains the values by which to decrement the corresponding values- Returns:
- this modified vector
- Throws:
ValueRuntimeException- in case this vector is immutable, when the sizes of the vectors differ, ordecrementis null
-
instantiateVectorRel
Instantiate a new relative vector of the class of this absolute vector. This can be used instead of the DoubleVector.instiantiate() methods in case another vector of this absolute vector class is known. The method is faster than DoubleVector.instantiate, and it will also work if the vector is user-defined.- Parameters:
dvd- the data used to instantiate the vectordisplayUnit- the display unit of the relative vector- Returns:
- a relative vector of the correct type, belonging to this absolute vector type
-
instantiateScalarRelSI
Instantiate a new relative scalar for the class of this absolute 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- the SI value of the relative scalardisplayUunit- the unit in which the relative value will be displayed- Returns:
- a relative scalar of the correct type, belonging to this absolute vector type
-