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 Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default PathIterator3afp<?>
convert(PathIterator3D<?> iterator)
Replies thePathIterator3afp
that is corresponding to the given element.B
newBox()
Create an empty bounding box.B
newBox(double x, double y, double z, double width, double height, double depth)
Create a bounding box.E
newClosePathElement(double lastPointX, double lastPointY, double lastPointZ, double firstPointX, double firstPointY, double firstPointZ)
Create a close path element.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.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.E
newLinePathElement(double startX, double startY, double startZ, double targetX, double targetY, double targetZ)
Create a line-to path element to the given point.E
newMovePathElement(double x, double y, double z)
Create a move-to path element to the given point.MultiShape3afp<?,?,?,E,P,V,B>
newMultiShape()
Create an empty multishape.Path3afp<?,?,E,P,V,B>
newPath(PathWindingRule rule)
Create an empty path with the given winding rule.Segment3afp<?,?,E,P,V,B>
newSegment(double x1, double y1, double z1, double x2, double y2, double 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
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.
-
convert
default PathIterator3afp<?> convert(PathIterator3D<?> iterator)
Replies thePathIterator3afp
that is corresponding to the given element.If the given element is already a
PathIterator3afp
, returnsthis
.- Parameters:
iterator
- the iterator.- Returns:
- the iterator.
-
-