Package org.arakhne.afc.math.geometry.d3
Interface UnmodifiableVector3D<RV extends Vector3D<? super RV,? super RP>,RP extends Point3D<? super RP,? super RV>>
-
- Type Parameters:
RV- is the type of vector that can be returned by this tuple.RP- is the type of point that can be returned by this tuple.
- All Superinterfaces:
Cloneable,JsonableObject,Serializable,Tuple3D<RV>,UnmodifiableTuple3D<RV>,Vector3D<RV,RP>
- All Known Implementing Classes:
ImmutableVector3D
public interface UnmodifiableVector3D<RV extends Vector3D<? super RV,? super RP>,RP extends Point3D<? super RP,? super RV>> extends UnmodifiableTuple3D<RV>, Vector3D<RV,RP>
Unmodifiable 3D Vector.- Version:
- 17.0 2020-01-04 14:41:43
- Author:
- Thomas PIOTROWSKI, Stéphane GALLAND
- Maven Group Id:
- org.arakhne.afc.core
- Maven Artifact Id:
- mathgeom
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.arakhne.afc.math.geometry.d3.Vector3D
Vector3D.PowerResult<T extends Vector3D<? super T,?>>
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default voidadd(Vector3D<?,?> vector)Sets the value of this tuple to the sum of itself and t1.default voidadd(Vector3D<?,?> vector1, Vector3D<?,?> vector2)Sets the value of this tuple to the sum of tuples t1 and t2.default voidcross(Vector3D<?,?> vector1, Vector3D<?,?> vector2)Computes the cross product of the vectors v1 and v2 and put the result in this vector.default voidcrossLeftHand(Vector3D<?,?> vector1, Vector3D<?,?> vector2)Computes the cross product of the vectors v1 and v2 as if the vectors are inside a left-hand coordinate system; and put the result in this vector.default voidcrossRightHand(Vector3D<?,?> vector1, Vector3D<?,?> vector2)Computes the cross product of the vectors v1 and v2 as if the vectors are inside a left-hand coordinate system; and put the result in this vector.default voidnormalize()Normalizes this vector in place.default voidnormalize(Vector3D<?,?> vector)Sets the value of this vector to the normalization of vector v1.default voidoperator_add(Vector3D<?,?> v)Add a vector to this vector:this += vdefault voidoperator_remove(Vector3D<?,?> v)Substract a vector to this vector:this -= vdefault voidscaleAdd(double scale, Vector3D<?,?> vector)Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).default voidscaleAdd(double scale, Vector3D<?,?> vector1, Vector3D<?,?> vector2)Sets the value of this tuple to the scalar multiplication of tuple t1 plus tuple t2 (this = s*t1 + t2).default voidscaleAdd(int scale, Vector3D<?,?> vector)Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).default voidscaleAdd(int scale, Vector3D<?,?> vector1, Vector3D<?,?> vector2)Sets the value of this tuple to the scalar multiplication of tuple t1 plus tuple t2 (this = s*t1 + t2).default voidsetLength(double newLength)Change the length of the vector.default voidsub(Point3D<?,?> point1, Point3D<?,?> point2)Sets the value of this tuple to the difference of tuples t1 and t2 (this = t1 - t2).default voidsub(Vector3D<?,?> vector1)Sets the value of this tuple to the difference of itself and t1 (this = this - t1).default voidsub(Vector3D<?,?> vector1, Vector3D<?,?> vector2)Sets the value of this tuple to the difference of tuples t1 and t2 (this = t1 - t2).default UnmodifiableVector3D<RV,RP>toUnmodifiable()Replies an unmodifiable copy of this vector.default voidturnVector(Vector3D<?,?> axis, double angle)Turn this vector about the given rotation angle.-
Methods inherited from interface org.arakhne.afc.vmutil.json.JsonableObject
toJson
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.Tuple3D
clone, epsilonEquals, equals, equals, get, get, get, getX, getY, getZ, hashCode, ix, iy, iz
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.UnmodifiableTuple3D
absolute, absolute, add, add, addX, addX, addY, addY, addZ, addZ, clamp, clamp, clamp, clamp, clampMax, clampMax, clampMax, clampMax, clampMin, clampMin, clampMin, clampMin, interpolate, interpolate, negate, negate, scale, scale, scale, scale, set, set, set, set, set, setX, setX, setY, setY, setZ, setZ, sub, sub, subX, subX, subY, subY, subZ, subZ
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.Vector3D
angle, cross, crossLeftHand, crossRightHand, dot, getGeomFactory, getLength, getLengthSquared, isColinear, isUnitVector, operator_divide, operator_doubleDotLessThan, operator_elvis, operator_equals, operator_greaterThanDoubleDot, operator_minus, operator_minus, operator_multiply, operator_multiply, operator_notEquals, operator_plus, operator_plus, operator_power, operator_power, operator_upTo, perp, power, signedAngle, toColinearVector, toUnitVector
-
-
-
-
Method Detail
-
add
default void add(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Description copied from interface:Vector3DSets the value of this tuple to the sum of tuples t1 and t2.
-
add
default void add(Vector3D<?,?> vector)
Description copied from interface:Vector3DSets the value of this tuple to the sum of itself and t1.
-
scaleAdd
default void scaleAdd(int scale, Vector3D<?,?> vector1, Vector3D<?,?> vector2)Description copied from interface:Vector3DSets the value of this tuple to the scalar multiplication of tuple t1 plus tuple t2 (this = s*t1 + t2).
-
scaleAdd
default void scaleAdd(double scale, Vector3D<?,?> vector1, Vector3D<?,?> vector2)Description copied from interface:Vector3DSets the value of this tuple to the scalar multiplication of tuple t1 plus tuple t2 (this = s*t1 + t2).
-
scaleAdd
default void scaleAdd(int scale, Vector3D<?,?> vector)Description copied from interface:Vector3DSets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).
-
scaleAdd
default void scaleAdd(double scale, Vector3D<?,?> vector)Description copied from interface:Vector3DSets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).
-
sub
default void sub(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Description copied from interface:Vector3DSets the value of this tuple to the difference of tuples t1 and t2 (this = t1 - t2).
-
sub
default void sub(Point3D<?,?> point1, Point3D<?,?> point2)
Description copied from interface:Vector3DSets the value of this tuple to the difference of tuples t1 and t2 (this = t1 - t2).
-
sub
default void sub(Vector3D<?,?> vector1)
Description copied from interface:Vector3DSets the value of this tuple to the difference of itself and t1 (this = this - t1).
-
cross
default void cross(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Description copied from interface:Vector3DComputes the cross product of the vectors v1 and v2 and put the result in this vector. The coordinate system's standard depends on the underlying implementation of the API. One ofVector3D.crossLeftHand(Vector3D, Vector3D)orVector3D.crossRightHand(Vector3D, Vector3D)will be invoked by this function.
![[Right-Handed Cross Product]](doc-files/right_handed_cross_product.png)
-
crossLeftHand
default void crossLeftHand(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Description copied from interface:Vector3DComputes the cross product of the vectors v1 and v2 as if the vectors are inside a left-hand coordinate system; and put the result in this vector.
-
crossRightHand
default void crossRightHand(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Description copied from interface:Vector3DComputes the cross product of the vectors v1 and v2 as if the vectors are inside a left-hand coordinate system; and put the result in this vector.
-
normalize
default void normalize(Vector3D<?,?> vector)
Description copied from interface:Vector3DSets the value of this vector to the normalization of vector v1.
-
normalize
default void normalize()
Description copied from interface:Vector3DNormalizes this vector in place.
-
turnVector
default void turnVector(Vector3D<?,?> axis, double angle)
Description copied from interface:Vector3DTurn this vector about the given rotation angle.
-
setLength
default void setLength(double newLength)
Description copied from interface:Vector3DChange the length of the vector. The direction of the vector is unchanged.
-
toUnmodifiable
default UnmodifiableVector3D<RV,RP> toUnmodifiable()
Description copied from interface:Vector3DReplies an unmodifiable copy of this vector.
-
operator_add
default void operator_add(Vector3D<?,?> v)
Description copied from interface:Vector3DAdd a vector to this vector:this += vThis function is an implementation of the "-" operator for the languages that defined or based on the Xtext framework.
-
operator_remove
default void operator_remove(Vector3D<?,?> v)
Description copied from interface:Vector3DSubstract a vector to this vector:this -= vThis function is an implementation of the "-" operator for the languages that defined or based on the Xtext framework.
-
-