Interface GeomFactory3afp<E extends PathElement3afp,​P extends Point3D<? super P,​? super V>,​V extends Vector3D<? super V,​? super P>,​B extends RectangularPrism3afp<?,​?,​E,​P,​V,​B>>

  • Type Parameters:
    E - the types of the path elements.
    P - is the type of the points.
    V - is the type of the vectors.
    B - is the type of the bounding boxes.
    All Superinterfaces:
    GeomFactory3D<V,​P>, GeomFactoryBase
    All Known Implementing Classes:
    GeomFactory3d, GeomFactory3dfx

    public interface GeomFactory3afp<E extends PathElement3afp,​P extends Point3D<? super P,​? super V>,​V extends Vector3D<? super V,​? super P>,​B extends RectangularPrism3afp<?,​?,​E,​P,​V,​B>>
    extends GeomFactory3D<V,​P>
    Factory of geometrical elements.
    Version:
    17.0 2020-01-04 14:41:43
    Author:
    Stéphane GALLAND
    Maven Group Id:
    org.arakhne.afc.core
    Maven Artifact Id:
    mathgeom
    • Method Detail

      • newPath

        Path3afp<?,​?,​E,​P,​V,​B> newPath​(PathWindingRule rule)
        Create an empty path with the given winding rule.
        Parameters:
        rule - the rule.
        Returns:
        the new path.
      • newMultiShape

        MultiShape3afp<?,​?,​?,​E,​P,​V,​B> newMultiShape()
        Create an empty multishape.
        Returns:
        the new multishape.
      • newBox

        B newBox()
        Create an empty bounding box.
        Returns:
        the box.
      • newBox

        B newBox​(double x,
                 double y,
                 double z,
                 double width,
                 double height,
                 double depth)
        Create a bounding box.
        Parameters:
        x - the x coordinate of the front lower corner.
        y - the y coordinate of the front lower corner.
        z - the z coordinate of the front lower corner.
        width - the width of the box.
        height - the height of the box.
        depth - the depth of the box.
        Returns:
        the box.
      • newMovePathElement

        E newMovePathElement​(double x,
                             double y,
                             double z)
        Create a move-to path element to the given point.
        Parameters:
        x - x coordinate of the target point.
        y - y coordinate of the target point.
        z - z coordinate of the target point.
        Returns:
        the path element.
      • newLinePathElement

        E newLinePathElement​(double startX,
                             double startY,
                             double startZ,
                             double targetX,
                             double targetY,
                             double targetZ)
        Create a line-to path element to the given point.
        Parameters:
        startX - x coordinate of the start point.
        startY - y coordinate of the start point.
        startZ - z coordinate of the start point.
        targetX - x coordinate of the target point.
        targetY - y coordinate of the target point.
        targetZ - z coordinate of the target point.
        Returns:
        the path element.
      • newClosePathElement

        E newClosePathElement​(double lastPointX,
                              double lastPointY,
                              double lastPointZ,
                              double firstPointX,
                              double firstPointY,
                              double firstPointZ)
        Create a close path element.
        Parameters:
        lastPointX - x coordinate of the last point on the path.
        lastPointY - y coordinate of the last point on the path.
        lastPointZ - z coordinate of the last point on the path.
        firstPointX - x coordinate of the first point on the path.
        firstPointY - y coordinate of the first point on the path.
        firstPointZ - z coordinate of the first point on the path.
        Returns:
        the path element.
      • newCurvePathElement

        E newCurvePathElement​(double startX,
                              double startY,
                              double startZ,
                              double controlX,
                              double controlY,
                              double controlZ,
                              double targetX,
                              double targetY,
                              double targetZ)
        Create a quadratic curve path element to the given point through the given control point.
        Parameters:
        startX - x coordinate of the start point.
        startY - y coordinate of the start point.
        startZ - z coordinate of the start point.
        controlX - x coordinate of the control point.
        controlY - y coordinate of the control point.
        controlZ - z coordinate of the control point.
        targetX - x coordinate of the target point.
        targetY - y coordinate of the target point.
        targetZ - z coordinate of the target point.
        Returns:
        the path element.
      • newCurvePathElement

        E newCurvePathElement​(double startX,
                              double startY,
                              double startZ,
                              double controlX1,
                              double controlY1,
                              double controlZ1,
                              double controlX2,
                              double controlY2,
                              double controlZ2,
                              double targetX,
                              double targetY,
                              double targetZ)
        Create a curve path element to the given point through the two given control points.
        Parameters:
        startX - x coordinate of the start point.
        startY - y coordinate of the start point.
        startZ - z coordinate of the start point.
        controlX1 - x coordinate of the control point.
        controlY1 - y coordinate of the control point.
        controlZ1 - z coordinate of the control point.
        controlX2 - x coordinate of the control point.
        controlY2 - y coordinate of the control point.
        controlZ2 - z coordinate of the control point.
        targetX - x coordinate of the target point.
        targetY - y coordinate of the target point.
        targetZ - z coordinate of the target point.
        Returns:
        the path element.
      • newSegment

        Segment3afp<?,​?,​E,​P,​V,​B> newSegment​(double x1,
                                                                          double y1,
                                                                          double z1,
                                                                          double x2,
                                                                          double y2,
                                                                          double z2)
        Create a segment.
        Parameters:
        x1 - the x coordinate of the first point of the segment.
        y1 - the y coordinate of the first point of the segment.
        z1 - the z coordinate of the first point of the segment.
        x2 - the x coordinate of the second point of the segment.
        y2 - the y coordinate of the second point of the segment.
        z2 - the z coordinate of the second point of the segment.
        Returns:
        the new segment.