- java.lang.Object
-
- org.arakhne.afc.math.geometry.d3.d.AbstractShape3d<Segment3d>
-
- org.arakhne.afc.math.geometry.d3.d.Segment3d
-
- All Implemented Interfaces:
Serializable,Cloneable,Segment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>,Shape3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>,Shape3d<Segment3d>,Shape3D<Shape3d<?>,Segment3d,PathIterator3afp<PathElement3d>,Point3d,Vector3d,RectangularPrism3d>,JsonableObject
public class Segment3d extends AbstractShape3d<Segment3d> implements Segment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>
A 2D segment/line with 2 double precision floating-point numbers.- Since:
- 13.0
- Version:
- 17.0 2020-01-04 14:41:43
- Author:
- Stéphane GALLAND, Hamza JAFFALI, Thomas PIOTROWSKI
- See Also:
- Serialized Form
- Maven Group Id:
- org.arakhne.afc.core
- Maven Artifact Id:
- mathgeom
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.arakhne.afc.math.geometry.d3.afp.Segment3afp
Segment3afp.SegmentPathIterator<T extends PathElement3afp>, Segment3afp.UncertainIntersection
-
-
Constructor Summary
Constructors Constructor Description Segment3d()Construct an empty segment.Segment3d(double x1, double y1, double z1, double x2, double y2, double z2)Construct a segment from the two given points.Segment3d(Segment3afp<?,?,?,?,?,?> segment)Constructor by copy.Segment3d(Point3D<?,?> p1, Point3D<?,?> p2)Construct a segment from the two given points.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Segment3dcreateTransformedShape(Transform3D transform)Apply the transformation to the shape and reply the result.Point3dgetP1()Replies the first point.Point3dgetP2()Replies the second point.doublegetX1()Replies the X of the first point.doublegetX2()Replies the X of the second point.doublegetY1()Replies the Y of the first point.doublegetY2()Replies the Y of the second point.doublegetZ1()Replies the Z of the first point.doublegetZ2()Replies the Z of the second point.inthashCode()voidset(double x1, double y1, double z1, double x2, double y2, double z2)Change the line.voidsetX1(double x)Sets a new value in the X of the first point.voidsetX2(double x)Sets a new value in the X of the second point.voidsetY1(double y)Sets a new value in the Y of the first point.voidsetY2(double y)Sets a new value in the Y of the second point.voidsetZ1(double z)Sets a new value in the Z of the first point.voidsetZ2(double z)Sets a new value in the Z of the second point.-
Methods inherited from class org.arakhne.afc.math.geometry.d3.d.AbstractShape3d
addShapeGeometryChangeListener, clone, equals, fireGeometryChange, getGeomFactory, removeShapeGeometryChangeListener, toJson, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.arakhne.afc.vmutil.json.JsonableObject
toJson
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.afp.Segment3afp
clear, clipToRectangle, contains, contains, equalsToShape, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getDistanceL1, getDistanceLinf, getDistanceSquared, getFarthestPointTo, getLength, getLengthSquared, getPathIterator, intersects, intersects, intersects, intersects, intersects, isEmpty, set, set, setP1, setP1, setP2, setP2, toBoundingBox, transform, translate
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.afp.Shape3afp
contains, contains, getClosestPointTo, getClosestPointTo, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getGeomFactory, intersects, intersects, toBoundingBox, translate
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.Shape3D
clone, equalsToPathIterator, getDistance, getDistance, getPathIterator, operator_add, operator_and, operator_and, operator_minus, operator_multiply, operator_plus, operator_remove, operator_upTo
-
-
-
-
Constructor Detail
-
Segment3d
public Segment3d()
Construct an empty segment.
-
Segment3d
public Segment3d(Point3D<?,?> p1, Point3D<?,?> p2)
Construct a segment from the two given points.- Parameters:
p1- first point.p2- second point.
-
Segment3d
public Segment3d(Segment3afp<?,?,?,?,?,?> segment)
Constructor by copy.- Parameters:
segment- the segment to copy.
-
Segment3d
public Segment3d(double x1, double y1, double z1, double x2, double y2, double z2)Construct a segment from the two given points.- Parameters:
x1- x coordinate of the first point.y1- y coordinate of the first point.z1- z coordinate of the first point.x2- x coordinate of the second point.y2- y coordinate of the second point.z2- z coordinate of the second point.
-
-
Method Detail
-
hashCode
@Pure public int hashCode()
- Specified by:
hashCodein classAbstractShape3d<Segment3d>
-
createTransformedShape
@Pure public Segment3d createTransformedShape(Transform3D transform)
Description copied from interface:Shape3DApply the transformation to the shape and reply the result. This function does not change the current shape.- Specified by:
createTransformedShapein interfaceShape3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Specified by:
createTransformedShapein interfaceShape3D<Shape3d<?>,Segment3d,PathIterator3afp<PathElement3d>,Point3d,Vector3d,RectangularPrism3d>- Parameters:
transform- is the transformation to apply to the shape.- Returns:
- the result of the transformation.
-
set
public void set(double x1, double y1, double z1, double x2, double y2, double z2)Description copied from interface:Segment3afpChange the line.- Specified by:
setin interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
x1- x coordinate of the first point.y1- y coordinate of the first point.z1- z coordinate of the first point.x2- x coordinate of the second point.y2- y coordinate of the second point.z2- z coordinate of the second point.
-
setX1
public void setX1(double x)
Description copied from interface:Segment3afpSets a new value in the X of the first point.- Specified by:
setX1in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
x- the new value double x
-
setY1
public void setY1(double y)
Description copied from interface:Segment3afpSets a new value in the Y of the first point.- Specified by:
setY1in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
y- the new value double y
-
setZ1
public void setZ1(double z)
Description copied from interface:Segment3afpSets a new value in the Z of the first point.- Specified by:
setZ1in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
z- the new value double z
-
setX2
public void setX2(double x)
Description copied from interface:Segment3afpSets a new value in the X of the second point.- Specified by:
setX2in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
x- the new value double x
-
setY2
public void setY2(double y)
Description copied from interface:Segment3afpSets a new value in the Y of the second point.- Specified by:
setY2in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
y- the new value double y
-
setZ2
public void setZ2(double z)
Description copied from interface:Segment3afpSets a new value in the Z of the second point.- Specified by:
setZ2in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Parameters:
z- the new value double z
-
getX1
@Pure public double getX1()
Description copied from interface:Segment3afpReplies the X of the first point.- Specified by:
getX1in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the x of the first point.
-
getY1
@Pure public double getY1()
Description copied from interface:Segment3afpReplies the Y of the first point.- Specified by:
getY1in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the y of the first point.
-
getZ1
@Pure public double getZ1()
Description copied from interface:Segment3afpReplies the Z of the first point.- Specified by:
getZ1in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the z of the first point.
-
getX2
@Pure public double getX2()
Description copied from interface:Segment3afpReplies the X of the second point.- Specified by:
getX2in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the x of the second point.
-
getY2
@Pure public double getY2()
Description copied from interface:Segment3afpReplies the Y of the second point.- Specified by:
getY2in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the y of the second point.
-
getZ2
@Pure public double getZ2()
Description copied from interface:Segment3afpReplies the Z of the second point.- Specified by:
getZ2in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the z of the second point.
-
getP1
public Point3d getP1()
Description copied from interface:Segment3afpReplies the first point.- Specified by:
getP1in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the first point.
-
getP2
public Point3d getP2()
Description copied from interface:Segment3afpReplies the second point.- Specified by:
getP2in interfaceSegment3afp<Shape3d<?>,Segment3d,PathElement3d,Point3d,Vector3d,RectangularPrism3d>- Returns:
- the second point.
-
-