Package org.arakhne.afc.math.geometry.d3
Interface OrientedPoint3D<RP extends Point3D<? super RP,? super RV>,RV extends Vector3D<? super RV,? super RP>>
-
- Type Parameters:
RP- is the type of point that can be returned by this tuple.RV- is the type of vector that can be returned by this tuple.
- All Superinterfaces:
Cloneable,JsonableObject,Point3D<RP,RV>,Serializable,Tuple3D<RP>
- All Known Implementing Classes:
OrientedPoint3d,OrientedPoint3dfx,OrientedPoint3i,OrientedPoint3ifx
public interface OrientedPoint3D<RP extends Point3D<? super RP,? super RV>,RV extends Vector3D<? super RV,? super RP>> extends Point3D<RP,RV>
A 3D point with three orientation vectors relative to the polyline: the tangent, the normal and the sway to the point. They have no physical existence.Note: the normal is defined as the orthogonal vector to the tangent's plane, and the sway is the cross product of the tangent and the normal.
- Version:
- 17.0 2020-01-04 14:41:43
- Author:
- Thomas PIOTROWSKI, Stéphane GALLAND, Olivier LAMOTTE
- Maven Group Id:
- org.arakhne.afc.core
- Maven Artifact Id:
- mathgeom
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default booleanequals(OrientedPoint3D<?,?> p1)Returns true if all of the data members of OrientedPoint3D p1 are equal to the corresponding data members in this OrientedPoint3D.RVgetNormal()Replies the normal vector.doublegetNormalX()Replies the X coordinate of the normal vector.doublegetNormalY()Replies the Y coordinate of the normal vector.doublegetNormalZ()Replies the Z coordinate of the normal vector.default RPgetPoint()Replies this point.RVgetSway()Replies the sway vector.default doublegetSwayX()Replies the X coordinate of the sway vector.default doublegetSwayY()Replies the Y coordinate of the sway vector.default doublegetSwayZ()Replies the Z coordinate of the sway vector.RVgetTangent()Replies the tangent vector .doublegetTangentX()Replies the X coordinate of the tangent vector.doublegetTangentY()Replies the Y coordinate of the tangent vector.doublegetTangentZ()Replies the Z coordinate of the tangent vector.intinx()Replies the X coordinate of the normal vector.intiny()Replies the Y coordinate of the normal vector.intinz()Replies the Z coordinate of the normal vector.default intisx()Replies the X coordinate of the sway vector.default intisy()Replies the Y coordinate of the sway vector.default intisz()Replies the Z coordinate of the sway vector.intitx()Replies the X coordinate of the tangent vector.intity()Replies the Y coordinate of the tangent vector.intitz()Replies the Z coordinate of the tangent vector.default voidset(double x, double y, double z, double tanX, double tanY, double tanZ)Change the point and its tangent vector.default voidset(double x, double y, double z, double tanX, double tanY, double tanZ, double norX, double norY, double norZ)Change the point its tangent and normal vectors.default voidset(int x, int y, int z, int tanX, int tanY, int tanZ)Change the point and its tangent vector.default voidsetNormal(RV normal)Sets the given vector as the new normal to this point.voidsetNormalX(double norX)Sets a new value in the X normal of the point.voidsetNormalX(int norX)Sets a new value in the X normal of the point.voidsetNormalY(double norY)Sets a new value in the Y normal of the point.voidsetNormalY(int norY)Sets a new value in the Y normal of the point.voidsetNormalZ(double norZ)Sets a new value in the Z normal of the point.voidsetNormalZ(int norZ)Sets a new value in the Z normal of the point.default voidsetTangent(RV tangent)Sets the given vector as the new tangent to this point.voidsetTangentX(double tanX)Sets a new value in the X tangent of the point.voidsetTangentX(int tanX)Sets a new value in the X tangent of the point.voidsetTangentY(double tanY)Sets a new value in the Y tangent of the point.voidsetTangentY(int tanY)Sets a new value in the Y tangent of the point.voidsetTangentZ(double tanZ)Sets a new value in the Z tangent of the point.voidsetTangentZ(int tanZ)Sets a new value in the Z tangent of the point.-
Methods inherited from interface org.arakhne.afc.vmutil.json.JsonableObject
toJson
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.Point3D
add, add, add, getDistance, getDistanceL1, getDistanceLinf, getDistanceSquared, getGeomFactory, getIdistanceL1, getIdistanceLinf, operator_add, operator_and, operator_elvis, operator_equals, operator_minus, operator_minus, operator_notEquals, operator_plus, operator_remove, operator_upTo, operator_upTo, scaleAdd, scaleAdd, scaleAdd, scaleAdd, scaleAdd, scaleAdd, sub, sub, toUnmodifiable
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.Tuple3D
absolute, absolute, add, add, addX, addX, addY, addY, addZ, addZ, clamp, clamp, clamp, clamp, clampMax, clampMax, clampMax, clampMax, clampMin, clampMin, clampMin, clampMin, clone, epsilonEquals, equals, equals, get, get, get, getX, getY, getZ, hashCode, interpolate, interpolate, ix, iy, iz, 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
-
-
-
-
Method Detail
-
getTangentX
@Pure double getTangentX()
Replies the X coordinate of the tangent vector. If this point is not part of a polyline, the tangent vector is null.- Returns:
- the x coordinate of the tangent vector.
-
itx
@Pure int itx()
Replies the X coordinate of the tangent vector. If this point is not part of a polyline, the tangent vector is null.- Returns:
- the x coordinate of the tangent vector.
-
setTangentX
void setTangentX(int tanX)
Sets a new value in the X tangent of the point.- Parameters:
tanX- the new value double x.
-
setTangentX
void setTangentX(double tanX)
Sets a new value in the X tangent of the point.- Parameters:
tanX- the new value double x.
-
getTangentY
@Pure double getTangentY()
Replies the Y coordinate of the tangent vector. If this point is not part of a polyline, the tangent vector is null.- Returns:
- the y coordinate of the tangent vector.
-
ity
@Pure int ity()
Replies the Y coordinate of the tangent vector. If this point is not part of a polyline, the tangent vector is null.- Returns:
- the y coordinate of the tangent vector.
-
setTangentY
void setTangentY(int tanY)
Sets a new value in the Y tangent of the point.- Parameters:
tanY- the new value double y.
-
setTangentY
void setTangentY(double tanY)
Sets a new value in the Y tangent of the point.- Parameters:
tanY- the new value double y.
-
getTangentZ
@Pure double getTangentZ()
Replies the Z coordinate of the tangent vector. If this point is not part of a polyline, the tangent vector is null.- Returns:
- the z coordinate of the tangent vector.
-
itz
@Pure int itz()
Replies the Z coordinate of the tangent vector. If this point is not part of a polyline, the tangent vector is null.- Returns:
- the z coordinate of the tangent vector.
-
setTangentZ
void setTangentZ(int tanZ)
Sets a new value in the Z tangent of the point.- Parameters:
tanZ- the new value double z.
-
setTangentZ
void setTangentZ(double tanZ)
Sets a new value in the Z tangent of the point.- Parameters:
tanZ- the new value double z.
-
getTangent
@Pure RV getTangent()
Replies the tangent vector .- Returns:
- the tangent vector to this point.
-
setTangent
default void setTangent(RV tangent)
Sets the given vector as the new tangent to this point. The sway vector is automatically recomputed.- Parameters:
tangent- the vector to set.
-
getNormalX
@Pure double getNormalX()
Replies the X coordinate of the normal vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the x coordinate of the normal vector.
-
inx
@Pure int inx()
Replies the X coordinate of the normal vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the x coordinate of the normal vector.
-
setNormalX
void setNormalX(int norX)
Sets a new value in the X normal of the point.- Parameters:
norX- the new value double x.
-
setNormalX
void setNormalX(double norX)
Sets a new value in the X normal of the point.- Parameters:
norX- the new value double x.
-
getNormalY
@Pure double getNormalY()
Replies the Y coordinate of the normal vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the y coordinate of the normal vector.
-
iny
@Pure int iny()
Replies the Y coordinate of the normal vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the y coordinate of the normal vector.
-
setNormalY
void setNormalY(int norY)
Sets a new value in the Y normal of the point.- Parameters:
norY- the new value double y.
-
setNormalY
void setNormalY(double norY)
Sets a new value in the Y normal of the point.- Parameters:
norY- the new value double y.
-
getNormalZ
@Pure double getNormalZ()
Replies the Z coordinate of the normal vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the z coordinate of the normal vector.
-
inz
@Pure int inz()
Replies the Z coordinate of the normal vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the z coordinate of the normal vector.
-
setNormalZ
void setNormalZ(int norZ)
Sets a new value in the Z normal of the point.- Parameters:
norZ- the new value double z.
-
setNormalZ
void setNormalZ(double norZ)
Sets a new value in the Z normal of the point.- Parameters:
norZ- the new value double z.
-
getNormal
@Pure RV getNormal()
Replies the normal vector.- Returns:
- the normal vector to the point.
-
setNormal
default void setNormal(RV normal)
Sets the given vector as the new normal to this point. The sway vector is automatically recomputed.- Parameters:
normal- the vector to set.
-
getSwayX
@Pure default double getSwayX()
Replies the X coordinate of the sway vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the x coordinate of the sway vector.
-
isx
@Pure default int isx()
Replies the X coordinate of the sway vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the x coordinate of the sway vector.
-
getSwayY
@Pure default double getSwayY()
Replies the Y coordinate of the sway vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the y coordinate of the sway vector.
-
isy
@Pure default int isy()
Replies the Y coordinate of the sway vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the y coordinate of the sway vector.
-
getSwayZ
@Pure default double getSwayZ()
Replies the Z coordinate of the sway vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the z coordinate of the sway vector.
-
isz
@Pure default int isz()
Replies the Z coordinate of the sway vector. If this point is not part of a polyline, the normal vector is null.- Returns:
- the z coordinate of the sway vector.
-
getSway
@Pure RV getSway()
Replies the sway vector.- Returns:
- the sway vector to this point.
-
getPoint
default RP getPoint()
Replies this point.- Returns:
- this point
-
set
default void set(int x, int y, int z, int tanX, int tanY, int tanZ)Change the point and its tangent vector.- Parameters:
x- x coordinate of the point.y- y coordinate of the point.z- z coordinate of the point.tanX- x coordinate of the tangent vector.tanY- y coordinate of the tangent vector.tanZ- z coordinate of the tangent vector.
-
set
default void set(double x, double y, double z, double tanX, double tanY, double tanZ)Change the point and its tangent vector.- Parameters:
x- x coordinate of the point.y- y coordinate of the point.z- z coordinate of the point.tanX- x coordinate of the tangent vector.tanY- y coordinate of the tangent vector.tanZ- z coordinate of the tangent vector.
-
set
default void set(double x, double y, double z, double tanX, double tanY, double tanZ, double norX, double norY, double norZ)Change the point its tangent and normal vectors.- Parameters:
x- x coordinate of the point.y- y coordinate of the point.z- z coordinate of the point.tanX- x coordinate of the tangent vector.tanY- y coordinate of the tangent vector.tanZ- z coordinate of the tangent vector.norX- x coordinate of the normal vector.norY- y coordinate of the normal vector.norZ- z coordinate of the normal vector.
-
equals
@Pure default boolean equals(OrientedPoint3D<?,?> p1)
Returns true if all of the data members of OrientedPoint3D p1 are equal to the corresponding data members in this OrientedPoint3D.- Parameters:
p1- the vector with which the comparison is made- Returns:
- true or false
-
-