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 void
add(Vector3D<?,?> vector)
Sets the value of this tuple to the sum of itself and t1.default void
add(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Sets the value of this tuple to the sum of tuples t1 and t2.default void
cross(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Computes the cross product of the vectors v1 and v2 and put the result in this vector.default void
crossLeftHand(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 void
crossRightHand(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 void
normalize()
Normalizes this vector in place.default void
normalize(Vector3D<?,?> vector)
Sets the value of this vector to the normalization of vector v1.default void
operator_add(Vector3D<?,?> v)
Add a vector to this vector:this += v
default void
operator_remove(Vector3D<?,?> v)
Substract a vector to this vector:this -= v
default void
scaleAdd(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 void
scaleAdd(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 void
scaleAdd(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 void
scaleAdd(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 void
setLength(double newLength)
Change the length of the vector.default void
sub(Point3D<?,?> point1, Point3D<?,?> point2)
Sets the value of this tuple to the difference of tuples t1 and t2 (this = t1 - t2).default void
sub(Vector3D<?,?> vector1)
Sets the value of this tuple to the difference of itself and t1 (this = this - t1).default void
sub(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 void
turnVector(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:Vector3D
Sets the value of this tuple to the sum of tuples t1 and t2.
-
add
default void add(Vector3D<?,?> vector)
Description copied from interface:Vector3D
Sets 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:Vector3D
Sets 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:Vector3D
Sets 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:Vector3D
Sets 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:Vector3D
Sets 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:Vector3D
Sets 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:Vector3D
Sets 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:Vector3D
Sets 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:Vector3D
Computes 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.
-
crossLeftHand
default void crossLeftHand(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Description copied from interface:Vector3D
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.
-
crossRightHand
default void crossRightHand(Vector3D<?,?> vector1, Vector3D<?,?> vector2)
Description copied from interface:Vector3D
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.
-
normalize
default void normalize(Vector3D<?,?> vector)
Description copied from interface:Vector3D
Sets the value of this vector to the normalization of vector v1.
-
normalize
default void normalize()
Description copied from interface:Vector3D
Normalizes this vector in place.
-
turnVector
default void turnVector(Vector3D<?,?> axis, double angle)
Description copied from interface:Vector3D
Turn this vector about the given rotation angle.
-
setLength
default void setLength(double newLength)
Description copied from interface:Vector3D
Change the length of the vector. The direction of the vector is unchanged.
-
toUnmodifiable
default UnmodifiableVector3D<RV,RP> toUnmodifiable()
Description copied from interface:Vector3D
Replies an unmodifiable copy of this vector.
-
operator_add
default void operator_add(Vector3D<?,?> v)
Description copied from interface:Vector3D
Add a vector to this vector:this += v
This 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:Vector3D
Substract a vector to this vector:this -= v
This function is an implementation of the "-" operator for the languages that defined or based on the Xtext framework.
-
-