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 Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default PathIterator2ai<?>convert(PathIterator2D<?> iterator)Replies thePathIterator2aithat is corresponding to the given element.EnewArcPathElement(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.BnewBox()Create an empty bounding box.BnewBox(int x, int y, int width, int height)Create a bounding box.EnewClosePathElement(int lastPointX, int lastPointy, int firstPointX, int firstPointY)Create a close path element.EnewCurvePathElement(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.EnewCurvePathElement(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.EnewLinePathElement(int startX, int startY, int targetX, int targetY)Create a line-to path element to the given point.EnewMovePathElement(int x, int y)Create a move-to path element to the given point.MultiShape2ai<?,?,?,E,P,V,B>newMultiShape()Create an empty bounding box.Path2ai<?,?,E,P,V,B>newPath(PathWindingRule rule)Create an empty path with the given winding rule.Segment2ai<?,?,E,P,V,B>newSegment(int x1, int y1, int x2, int y2)Create a segment.-
Methods inherited from interface org.arakhne.afc.math.geometry.d2.GeomFactory2D
convertToPoint, convertToPoint, convertToVector, convertToVector, newPoint, newPoint, newPoint, newVector, newVector, newVector
-
Methods inherited from interface org.arakhne.afc.math.geometry.GeomFactoryBase
getSplineApproximationRatio, setSplineApproximationRatio
-
-
-
-
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 pathlastPointy- y coordinate of the last point on the pathfirstPointX- 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-trueiff the path will sweep the long way around the ellipse.sweepFlag-trueiff the path will sweep clockwise around the ellipse.- Returns:
- the path element.
-
convert
default PathIterator2ai<?> convert(PathIterator2D<?> iterator)
Replies thePathIterator2aithat is corresponding to the given element.If the given element is already a
PathIterator2ai, returnsthis.- Parameters:
iterator- the iterator.- Returns:
- the iterator.
-
-