- java.lang.Object
-
- org.arakhne.afc.math.geometry.AbstractGeomFactoryBase
-
- org.arakhne.afc.math.geometry.d3.AbstractGeomFactory3D<Vector3d,Point3d>
-
- org.arakhne.afc.math.geometry.d3.d.GeomFactory3d
-
- All Implemented Interfaces:
GeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>,GeomFactory3D<Vector3d,Point3d>,GeomFactoryBase
public class GeomFactory3d extends AbstractGeomFactory3D<Vector3d,Point3d> implements GeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>
Factory of geometrical elements.- Since:
- 13.0
- Version:
- 17.0 2020-01-04 14:41:43
- Author:
- Stéphane GALLAND, Thomas PIOTROWSKI
- Maven Group Id:
- org.arakhne.afc.core
- Maven Artifact Id:
- mathgeom
-
-
Field Summary
Fields Modifier and Type Field Description static GeomFactory3dSINGLETONThe singleton of the factory.
-
Constructor Summary
Constructors Constructor Description GeomFactory3d()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Point3dconvertToPoint(Point3D<?,?> pt)Convert the given point if it is not of the right type.Point3dconvertToPoint(Vector3D<?,?> v)Convert the given vector.Vector3dconvertToVector(Point3D<?,?> pt)Convert the given point.Vector3dconvertToVector(Vector3D<?,?> v)Convert the given vector.RectangularPrism3dnewBox()Create an empty bounding box.RectangularPrism3dnewBox(double x, double y, double z, double width, double height, double depth)Create a bounding box.PathElement3dnewClosePathElement(double lastPointX, double lastPointY, double lastPointZ, double firstPointX, double firstPointY, double firstPointZ)Create a close path element.PathElement3dnewCurvePathElement(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.PathElement3dnewCurvePathElement(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.PathElement3dnewLinePathElement(double startX, double startY, double startZ, double targetX, double targetY, double targetZ)Create a line-to path element to the given point.PathElement3dnewMovePathElement(double x, double y, double z)Create a move-to path element to the given point.MultiShape3d<?>newMultiShape()Create an empty multishape.Path3dnewPath(PathWindingRule rule)Create an empty path with the given winding rule.Point3dnewPoint()Create a point.Point3dnewPoint(double x, double y, double z)Create a point.Point3dnewPoint(int x, int y, int z)Create a point.QuaternionnewQuaternion(double attitude, double bank, double heading)Creates a Quaternion.QuaternionnewQuaternion(Vector3D<?,?> axis, double angle)Creates a Quaternion.Segment3dnewSegment(double x1, double y1, double z1, double x2, double y2, double z2)Create a segment.Vector3dnewVector()Create a vector.Vector3dnewVector(double x, double y, double z)Create a vector.Vector3dnewVector(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.afp.GeomFactory3afp
convert
-
Methods inherited from interface org.arakhne.afc.math.geometry.GeomFactoryBase
getSplineApproximationRatio, setSplineApproximationRatio
-
-
-
-
Field Detail
-
SINGLETON
public static final GeomFactory3d SINGLETON
The singleton of the factory.
-
-
Method Detail
-
convertToPoint
public Point3d convertToPoint(Point3D<?,?> pt)
Description copied from interface:GeomFactory3DConvert the given point if it is not of the right type.- Specified by:
convertToPointin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
pt- the point to convert.- Returns:
pif it is of typeP, or a copy ofp.
-
convertToPoint
public Point3d convertToPoint(Vector3D<?,?> v)
Description copied from interface:GeomFactory3DConvert the given vector.- Specified by:
convertToPointin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
v- the vector to convert.- Returns:
- the point.
-
convertToVector
public Vector3d convertToVector(Point3D<?,?> pt)
Description copied from interface:GeomFactory3DConvert the given point.- Specified by:
convertToVectorin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
pt- the point to convert.- Returns:
- the vector.
-
convertToVector
public Vector3d convertToVector(Vector3D<?,?> v)
Description copied from interface:GeomFactory3DConvert the given vector.- Specified by:
convertToVectorin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
v- the vector to convert.- Returns:
- the vector.
-
newPoint
public Point3d newPoint(double x, double y, double z)
Description copied from interface:GeomFactory3DCreate a point.- Specified by:
newPointin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
x- x coordinate of the point.y- y coordinate of the point.z- z coordinate of the point.- Returns:
- the point.
-
newPoint
public Point3d newPoint(int x, int y, int z)
Description copied from interface:GeomFactory3DCreate a point.- Specified by:
newPointin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
x- x coordinate of the point.y- y coordinate of the point.z- z coordinate of the point.- Returns:
- the point.
-
newPoint
public Point3d newPoint()
Description copied from interface:GeomFactory3DCreate a point.- Specified by:
newPointin interfaceGeomFactory3D<Vector3d,Point3d>- Returns:
- the point.
-
newVector
public Vector3d newVector(double x, double y, double z)
Description copied from interface:GeomFactory3DCreate a vector.- Specified by:
newVectorin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
x- x coordinate of the vector.y- y coordinate of the vector.z- z coordinate of the vector.- Returns:
- the vector.
-
newVector
public Vector3d newVector(int x, int y, int z)
Description copied from interface:GeomFactory3DCreate a vector.- Specified by:
newVectorin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
x- x coordinate of the vector.y- y coordinate of the vector.z- z coordinate of the vector.- Returns:
- the vector.
-
newVector
public Vector3d newVector()
Description copied from interface:GeomFactory3DCreate a vector.- Specified by:
newVectorin interfaceGeomFactory3D<Vector3d,Point3d>- Returns:
- the vector.
-
newPath
public Path3d newPath(PathWindingRule rule)
Description copied from interface:GeomFactory3afpCreate an empty path with the given winding rule.- Specified by:
newPathin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
rule- the rule.- Returns:
- the new path.
-
newBox
public RectangularPrism3d newBox()
Description copied from interface:GeomFactory3afpCreate an empty bounding box.- Specified by:
newBoxin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the box.
-
newBox
public RectangularPrism3d newBox(double x, double y, double z, double width, double height, double depth)
Description copied from interface:GeomFactory3afpCreate a bounding box.- Specified by:
newBoxin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- 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
public PathElement3d newMovePathElement(double x, double y, double z)
Description copied from interface:GeomFactory3afpCreate a move-to path element to the given point.- Specified by:
newMovePathElementin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- 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 PathElement3d newLinePathElement(double startX, double startY, double startZ, double targetX, double targetY, double targetZ)
Description copied from interface:GeomFactory3afpCreate a line-to path element to the given point.- Specified by:
newLinePathElementin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- 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 PathElement3d newClosePathElement(double lastPointX, double lastPointY, double lastPointZ, double firstPointX, double firstPointY, double firstPointZ)
Description copied from interface:GeomFactory3afpCreate a close path element.- Specified by:
newClosePathElementin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- 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
public PathElement3d newCurvePathElement(double startX, double startY, double startZ, double controlX, double controlY, double controlZ, double targetX, double targetY, double targetZ)
Description copied from interface:GeomFactory3afpCreate a quadratic curve path element to the given point through the given control point.- Specified by:
newCurvePathElementin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- 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 PathElement3d 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)
Description copied from interface:GeomFactory3afpCreate a curve path element to the given point through the two given control points.- Specified by:
newCurvePathElementin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- 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 Segment3d newSegment(double x1, double y1, double z1, double x2, double y2, double z2)
Description copied from interface:GeomFactory3afpCreate a segment.- Specified by:
newSegmentin interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- 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.
-
newMultiShape
public MultiShape3d<?> newMultiShape()
Description copied from interface:GeomFactory3afpCreate an empty multishape.- Specified by:
newMultiShapein interfaceGeomFactory3afp<PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the new multishape.
-
newQuaternion
public Quaternion newQuaternion(Vector3D<?,?> axis, double angle)
Description copied from interface:GeomFactory3DCreates a Quaternion.- Specified by:
newQuaternionin interfaceGeomFactory3D<Vector3d,Point3d>- 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:GeomFactory3DCreates a Quaternion.- Specified by:
newQuaternionin interfaceGeomFactory3D<Vector3d,Point3d>- Parameters:
attitude- the attitude of the quaternionbank- the bank of the quaternionheading- the heading of the quaternion- Returns:
- the quaternion
-
-