Class GeomFactory3ifx
- java.lang.Object
-
- org.arakhne.afc.math.geometry.AbstractGeomFactoryBase
-
- org.arakhne.afc.math.geometry.d3.AbstractGeomFactory3D<Vector3ifx,Point3ifx>
-
- org.arakhne.afc.math.geometry.d3.ifx.GeomFactory3ifx
-
- All Implemented Interfaces:
GeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
,GeomFactory3D<Vector3ifx,Point3ifx>
,GeomFactoryBase
public class GeomFactory3ifx extends AbstractGeomFactory3D<Vector3ifx,Point3ifx> implements GeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
Factory of geometrical elements.- Since:
- 13.0
- Version:
- 17.0 2020-01-04 14:41:49
- Author:
- Stéphane GALLAND, Thomas PIOTROWSKI
- Maven Group Id:
- org.arakhne.afc.advanced
- Maven Artifact Id:
- mathfx
-
-
Field Summary
Fields Modifier and Type Field Description static GeomFactory3ifx
SINGLETON
The singleton of the factory.
-
Constructor Summary
Constructors Constructor Description GeomFactory3ifx()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Point3ifx
convertToPoint(Point3D<?,?> point)
Convert the given point if it is not of the right type.Point3ifx
convertToPoint(Vector3D<?,?> vector)
Convert the given vector.Vector3ifx
convertToVector(Point3D<?,?> point)
Convert the given point.Vector3ifx
convertToVector(Vector3D<?,?> vector)
Convert the given vector.RectangularPrism3ifx
newBox()
Create an empty bounding box.RectangularPrism3ifx
newBox(int x, int y, int z, int width, int height, int depth)
Create a bounding box.PathElement3ifx
newClosePathElement(int lastPointX, int lastPointY, int lastPointZ, int firstPointX, int firstPointY, int firstPointZ)
Create a close path element.PathElement3ifx
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.PathElement3ifx
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.PathElement3ifx
newLinePathElement(int startX, int startY, int startZ, int targetX, int targetY, int targetZ)
Create a line-to path element to the given point.PathElement3ifx
newMovePathElement(int x, int y, int z)
Create a move-to path element to the given point.MultiShape3ifx<?>
newMultiShape()
Create an empty bounding box.Path3ifx
newPath(PathWindingRule rule)
Create an empty path with the given winding rule.Point3ifx
newPoint()
Create a point.Point3ifx
newPoint(double x, double y, double z)
Create a point.Point3ifx
newPoint(int x, int y, int z)
Create a point.Point3ifx
newPoint(javafx.beans.property.IntegerProperty x, javafx.beans.property.IntegerProperty y, javafx.beans.property.IntegerProperty z)
Create a point with properties.Quaternion
newQuaternion(double attitude, double bank, double heading)
Creates a Quaternion.Quaternion
newQuaternion(Vector3D<?,?> axis, double angle)
Creates a Quaternion.Segment3ifx
newSegment(int x1, int y1, int z1, int x2, int y2, int z2)
Create a segment.Vector3ifx
newVector()
Create a vector.Vector3ifx
newVector(double x, double y, double z)
Create a vector.Vector3ifx
newVector(int x, int y, int z)
Create a vector.-
Methods inherited from class org.arakhne.afc.math.geometry.AbstractGeomFactoryBase
getGlobalSplineApproximationRatio, getSplineApproximationRatio, setGlobalSplineApproximationRatio, setSplineApproximationRatio
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.ai.GeomFactory3ai
convert
-
Methods inherited from interface org.arakhne.afc.math.geometry.GeomFactoryBase
getSplineApproximationRatio, setSplineApproximationRatio
-
-
-
-
Field Detail
-
SINGLETON
public static final GeomFactory3ifx SINGLETON
The singleton of the factory.
-
-
Method Detail
-
convertToPoint
public Point3ifx convertToPoint(Point3D<?,?> point)
Description copied from interface:GeomFactory3D
Convert the given point if it is not of the right type.- Specified by:
convertToPoint
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
point
- the point to convert.- Returns:
p
if it is of typeP
, or a copy ofp
.
-
convertToPoint
public Point3ifx convertToPoint(Vector3D<?,?> vector)
Description copied from interface:GeomFactory3D
Convert the given vector.- Specified by:
convertToPoint
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
vector
- the vector to convert.- Returns:
- the point.
-
convertToVector
public Vector3ifx convertToVector(Point3D<?,?> point)
Description copied from interface:GeomFactory3D
Convert the given point.- Specified by:
convertToVector
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
point
- the point to convert.- Returns:
- the vector.
-
convertToVector
public Vector3ifx convertToVector(Vector3D<?,?> vector)
Description copied from interface:GeomFactory3D
Convert the given vector.- Specified by:
convertToVector
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
vector
- the vector to convert.- Returns:
- the vector.
-
newPoint
public Point3ifx newPoint(int x, int y, int z)
Description copied from interface:GeomFactory3D
Create a point.- Specified by:
newPoint
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
x
- x coordinate of the point.y
- y coordinate of the point.z
- z coordinate of the point.- Returns:
- the point.
-
newPoint
public Point3ifx newPoint(double x, double y, double z)
Description copied from interface:GeomFactory3D
Create a point.- Specified by:
newPoint
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
x
- x coordinate of the point.y
- y coordinate of the point.z
- z coordinate of the point.- Returns:
- the point.
-
newPoint
public Point3ifx newPoint()
Description copied from interface:GeomFactory3D
Create a point.- Specified by:
newPoint
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Returns:
- the point.
-
newPoint
public Point3ifx newPoint(javafx.beans.property.IntegerProperty x, javafx.beans.property.IntegerProperty y, javafx.beans.property.IntegerProperty z)
Create a point with properties.- Parameters:
x
- the x property.y
- the y property.z
- the z property.- Returns:
- the vector.
-
newVector
public Vector3ifx newVector(int x, int y, int z)
Description copied from interface:GeomFactory3D
Create a vector.- Specified by:
newVector
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
x
- x coordinate of the vector.y
- y coordinate of the vector.z
- z coordinate of the vector.- Returns:
- the vector.
-
newVector
public Vector3ifx newVector(double x, double y, double z)
Description copied from interface:GeomFactory3D
Create a vector.- Specified by:
newVector
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
x
- x coordinate of the vector.y
- y coordinate of the vector.z
- z coordinate of the vector.- Returns:
- the vector.
-
newVector
public Vector3ifx newVector()
Description copied from interface:GeomFactory3D
Create a vector.- Specified by:
newVector
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Returns:
- the vector.
-
newPath
public Path3ifx newPath(PathWindingRule rule)
Description copied from interface:GeomFactory3ai
Create an empty path with the given winding rule.- Specified by:
newPath
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Parameters:
rule
- the rule.- Returns:
- the new path.
-
newBox
public RectangularPrism3ifx newBox()
Description copied from interface:GeomFactory3ai
Create an empty bounding box.- Specified by:
newBox
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Returns:
- the box.
-
newBox
public RectangularPrism3ifx newBox(int x, int y, int z, int width, int height, int depth)
Description copied from interface:GeomFactory3ai
Create a bounding box.- Specified by:
newBox
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- 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.
-
newMovePathElement
public PathElement3ifx newMovePathElement(int x, int y, int z)
Description copied from interface:GeomFactory3ai
Create a move-to path element to the given point.- Specified by:
newMovePathElement
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- 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
public PathElement3ifx newLinePathElement(int startX, int startY, int startZ, int targetX, int targetY, int targetZ)
Description copied from interface:GeomFactory3ai
Create a line-to path element to the given point.- Specified by:
newLinePathElement
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- 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
public PathElement3ifx newClosePathElement(int lastPointX, int lastPointY, int lastPointZ, int firstPointX, int firstPointY, int firstPointZ)
Description copied from interface:GeomFactory3ai
Create a close path element.- Specified by:
newClosePathElement
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- 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
public PathElement3ifx newCurvePathElement(int startX, int startY, int startZ, int controlX, int controlY, int controlZ, int targetX, int targetY, int targetZ)
Description copied from interface:GeomFactory3ai
Create a quadratic curve path element to the given point through the given control point.- Specified by:
newCurvePathElement
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- 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
public PathElement3ifx 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)
Description copied from interface:GeomFactory3ai
Create a curve path element to the given point through the two given control points.- Specified by:
newCurvePathElement
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- 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
public Segment3ifx newSegment(int x1, int y1, int z1, int x2, int y2, int z2)
Description copied from interface:GeomFactory3ai
Create a segment.- Specified by:
newSegment
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- 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.
-
newMultiShape
public MultiShape3ifx<?> newMultiShape()
Description copied from interface:GeomFactory3ai
Create an empty bounding box.- Specified by:
newMultiShape
in interfaceGeomFactory3ai<PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Returns:
- the box.
-
newQuaternion
public Quaternion newQuaternion(Vector3D<?,?> axis, double angle)
Description copied from interface:GeomFactory3D
Creates a Quaternion.- Specified by:
newQuaternion
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
axis
- the axis of the quaternion.angle
- the angle of the quaternion.- Returns:
- the quaternion.
-
newQuaternion
public Quaternion newQuaternion(double attitude, double bank, double heading)
Description copied from interface:GeomFactory3D
Creates a Quaternion.- Specified by:
newQuaternion
in interfaceGeomFactory3D<Vector3ifx,Point3ifx>
- Parameters:
attitude
- the attitude of the quaternionbank
- the bank of the quaternionheading
- the heading of the quaternion- Returns:
- the quaternion
-
-