Interface GeomFactory3ai<E extends PathElement3ai,P extends Point3D<? super P,? super V>,V extends Vector3D<? super V,? super P>,B extends RectangularPrism3ai<?,?,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:
GeomFactory3i
,GeomFactory3ifx
public interface GeomFactory3ai<E extends PathElement3ai,P extends Point3D<? super P,? super V>,V extends Vector3D<? super V,? super P>,B extends RectangularPrism3ai<?,?,E,P,V,B>> extends GeomFactory3D<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 PathIterator3ai<?>
convert(PathIterator3D<?> iterator)
Replies thePathIterator3ai
that is corresponding to the given element.B
newBox()
Create an empty bounding box.B
newBox(int x, int y, int z, int width, int height, int depth)
Create a bounding box.E
newClosePathElement(int lastPointX, int lastPointY, int lastPointZ, int firstPointX, int firstPointY, int firstPointZ)
Create a close path element.E
newCurvePathElement(int startX, int startY, int startZ, int controlX, int controlY, int controlZ, int targetX, int targetY, int targetZ)
Create a quadratic curve path element to the given point through the given control point.E
newCurvePathElement(int startX, int startY, int startZ, int controlX1, int controlY1, int controlZ1, int controlX2, int controlY2, int controlZ2, int targetX, int targetY, int targetZ)
Create a curve path element to the given point through the two given control points.E
newLinePathElement(int startX, int startY, int startZ, int targetX, int targetY, int targetZ)
Create a line-to path element to the given point.E
newMovePathElement(int x, int y, int z)
Create a move-to path element to the given point.MultiShape3ai<?,?,?,E,P,V,B>
newMultiShape()
Create an empty bounding box.Path3ai<?,?,E,P,V,B>
newPath(PathWindingRule rule)
Create an empty path with the given winding rule.Segment3ai<?,?,E,P,V,B>
newSegment(int x1, int y1, int z1, int x2, int y2, int z2)
Create a segment.-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.GeomFactory3D
convertToPoint, convertToPoint, convertToVector, convertToVector, newPoint, newPoint, newPoint, newQuaternion, newQuaternion, newVector, newVector, newVector
-
Methods inherited from interface org.arakhne.afc.math.geometry.GeomFactoryBase
getSplineApproximationRatio, setSplineApproximationRatio
-
-
-
-
Method Detail
-
newPath
Path3ai<?,?,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
Segment3ai<?,?,E,P,V,B> newSegment(int x1, int y1, int z1, int x2, int y2, int 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 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.z2
- 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 z, int width, int height, int depth)
Create a bounding box.- Parameters:
x
- the x coordinate of the lower corner.y
- the y coordinate of the lower corner.z
- the z coordinate of the lower corner.width
- the width of the box.height
- the height of the box.depth
- the depth of the box.- Returns:
- the box.
-
newMultiShape
MultiShape3ai<?,?,?,E,P,V,B> newMultiShape()
Create an empty bounding box.- Returns:
- the box.
-
newMovePathElement
E newMovePathElement(int x, int y, int 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(int startX, int startY, int startZ, int targetX, int targetY, int 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(int lastPointX, int lastPointY, int lastPointZ, int firstPointX, int firstPointY, int firstPointZ)
Create a close path element.- Parameters:
lastPointX
- x coordinate of the last point on the pathlastPointY
- y coordinate of the last point on the pathlastPointZ
- z 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.firstPointZ
- z coordinate of the first point on the path.- Returns:
- the path element.
-
newCurvePathElement
E newCurvePathElement(int startX, int startY, int startZ, int controlX, int controlY, int controlZ, int targetX, int targetY, int 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(int startX, int startY, int startZ, int controlX1, int controlY1, int controlZ1, int controlX2, int controlY2, int controlZ2, int targetX, int targetY, int 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.
-
convert
default PathIterator3ai<?> convert(PathIterator3D<?> iterator)
Replies thePathIterator3ai
that is corresponding to the given element.If the given element is already a
PathIterator3ai
, returnsthis
.- Parameters:
iterator
- the iterator.- Returns:
- the iterator.
-
-