Interface GeomFactory2ai<E extends PathElement2ai,​P extends Point2D<? super P,​? super V>,​V extends Vector2D<? super V,​? super P>,​B extends Rectangle2ai<?,​?,​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:
    GeomFactory2D<V,​P>, GeomFactoryBase
    All Known Implementing Classes:
    GeomFactory2i, GeomFactory2ifx

    public interface GeomFactory2ai<E extends PathElement2ai,​P extends Point2D<? super P,​? super V>,​V extends Vector2D<? super V,​? super P>,​B extends Rectangle2ai<?,​?,​E,​P,​V,​B>>
    extends GeomFactory2D<V,​P>
    Factory of geometrical elements.
    Since:
    13.0
    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

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

        Segment2ai<?,​?,​E,​P,​V,​B> newSegment​(int x1,
                                                                         int y1,
                                                                         int x2,
                                                                         int y2)
        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.
        x2 - the x coordinate of the second point of the segment.
        y2 - the y coordinate of the second point of the segment.
        Returns:
        the new segment.
      • newBox

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

        B newBox​(int x,
                 int y,
                 int width,
                 int height)
        Create a bounding box.
        Parameters:
        x - the x coordinate of the lower corner.
        y - the y coordinate of the lower corner.
        width - the width of the box.
        height - the height of the box.
        Returns:
        the box.
      • newMultiShape

        MultiShape2ai<?,​?,​?,​E,​P,​V,​B> newMultiShape()
        Create an empty bounding box.
        Returns:
        the box.
      • newMovePathElement

        E newMovePathElement​(int x,
                             int y)
        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.
        Returns:
        the path element.
      • newLinePathElement

        E newLinePathElement​(int startX,
                             int startY,
                             int targetX,
                             int targetY)
        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.
        targetX - x coordinate of the target point.
        targetY - y coordinate of the target point.
        Returns:
        the path element.
      • newClosePathElement

        E newClosePathElement​(int lastPointX,
                              int lastPointy,
                              int firstPointX,
                              int firstPointY)
        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
        firstPointX - x coordinate of the first point on the path.
        firstPointY - y coordinate of the first point on the path.
        Returns:
        the path element.
      • newCurvePathElement

        E newCurvePathElement​(int startX,
                              int startY,
                              int controlX,
                              int controlY,
                              int targetX,
                              int targetY)
        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.
        controlX - x coordinate of the control point.
        controlY - y coordinate of the control point.
        targetX - x coordinate of the target point.
        targetY - y coordinate of the target point.
        Returns:
        the path element.
      • newCurvePathElement

        E newCurvePathElement​(int startX,
                              int startY,
                              int controlX1,
                              int controlY1,
                              int controlX2,
                              int controlY2,
                              int targetX,
                              int targetY)
        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.
        controlX1 - x coordinate of the control point.
        controlY1 - y coordinate of the control point.
        controlX2 - x coordinate of the control point.
        controlY2 - y coordinate of the control point.
        targetX - x coordinate of the target point.
        targetY - y coordinate of the target point.
        Returns:
        the path element.
      • newArcPathElement

        E newArcPathElement​(int startX,
                            int startY,
                            int targetX,
                            int targetY,
                            int radiusX,
                            int radiusY,
                            double xAxisRotation,
                            boolean largeArcFlag,
                            boolean sweepFlag)
        Create an arc-to path element to the given point by following an ellipse arc.
        Parameters:
        startX - x coordinate of the start point.
        startY - y coordinate of the start point.
        targetX - x coordinate of the target point.
        targetY - y coordinate of the target point.
        radiusX - the X radius of the tilted ellipse.
        radiusY - the Y radius of the tilted ellipse.
        xAxisRotation - the angle of tilt of the ellipse.
        largeArcFlag - true iff the path will sweep the long way around the ellipse.
        sweepFlag - true iff the path will sweep clockwise around the ellipse.
        Returns:
        the path element.