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 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