Class Parallelogram2d
- java.lang.Object
-
- org.arakhne.afc.math.geometry.d2.d.AbstractShape2d<Parallelogram2d>
-
- org.arakhne.afc.math.geometry.d2.d.Parallelogram2d
-
- All Implemented Interfaces:
Serializable,Cloneable,Parallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>,Shape2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>,Shape2d<Parallelogram2d>,Shape2D<Shape2d<?>,Parallelogram2d,PathIterator2afp<PathElement2d>,Point2d,Vector2d,Rectangle2d>,JsonableObject
public class Parallelogram2d extends AbstractShape2d<Parallelogram2d> implements Parallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>
Parallelogram with 2 double precision floating-point numbers.- Since:
- 13.0
- Version:
- 17.0 2020-01-04 14:41:43
- Author:
- Stéphane GALLAND, Nicolas GAUD, Maxime Grolleau
- 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.d2.afp.Parallelogram2afp
Parallelogram2afp.AbstractParallelogramPathIterator<T extends PathElement2afp>, Parallelogram2afp.ParallelogramPathIterator<T extends PathElement2afp>, Parallelogram2afp.ProjectionToParallelogramLocalCoordinateSystemPathIterator<T extends PathElement2afp>, Parallelogram2afp.TransformedParallelogramPathIterator<T extends PathElement2afp>
-
-
Constructor Summary
Constructors Constructor Description Parallelogram2d()Create an empty parallelogram.Parallelogram2d(double centerX, double centerY, double axis1X, double axis1Y, double axis1Extent, double axis2X, double axis2Y, double axis2Extent)Construct a parallelogram.Parallelogram2d(Iterable<? extends Point2D<?,?>> pointCloud)Construct a parallelogram from the given cloud of points.Parallelogram2d(Parallelogram2afp<?,?,?,?,?,?> parallelogram)Create an parallelogram from the given parallelogram.Parallelogram2d(Point2D<?,?>... pointCloud)Construct a parallelogram from the given cloud of points.Parallelogram2d(Point2D<?,?> center, Vector2D<?,?> axis1, double axis1Extent, Vector2D<?,?> axis2, double axis2Extent)Construct a parallelogram.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Point2dgetCenter()Replies the center.doublegetCenterX()Replies the center x.doublegetCenterY()Replies the center y.Vector2dgetFirstAxis()Replies the first axis of the oriented rectangle.doublegetFirstAxisExtent()Replies the demi-size of the rectangle along its first axis.doublegetFirstAxisX()Replies coordinate x of the first axis of the oriented rectangle.doublegetFirstAxisY()Replies coordinate y of the first axis of the oriented rectangle.Vector2dgetSecondAxis()Replies the second axis of the oriented rectangle.doublegetSecondAxisExtent()Replies the demi-size of the rectangle along its second axis.doublegetSecondAxisX()Replies coordinate x of the second axis of the oriented rectangle.doublegetSecondAxisY()Replies coordinate y of the second axis of the oriented rectangle.inthashCode()voidset(double centerX, double centerY, double axis1x, double axis1y, double axis1Extent, double axis2x, double axis2y, double axis2Extent)Set the oriented rectangle.voidsetCenter(double cx, double cy)Set the center.voidsetCenterX(double cx)Set the center's x.voidsetCenterY(double cy)Set the center's y.voidsetFirstAxis(double x, double y, double extent)Set the first axis of the rectangle.voidsetFirstAxisExtent(double extent)Change the demi-size of the rectangle along its first axis.voidsetSecondAxis(double x, double y, double extent)Set the second axis of the rectangle.voidsetSecondAxisExtent(double extent)Change the demi-size of the rectangle along its second axis.-
Methods inherited from class org.arakhne.afc.math.geometry.d2.d.AbstractShape2d
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.d2.afp.Parallelogram2afp
clear, contains, contains, equalsToShape, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getDistanceL1, getDistanceLinf, getDistanceSquared, getFarthestPointTo, getPathIterator, intersects, intersects, intersects, intersects, intersects, intersects, intersects, intersects, intersects, intersects, isCCW, isEmpty, rotate, set, set, setCenter, setFirstAxis, setFirstAxis, setFirstAxis, setFromPointCloud, setFromPointCloud, setSecondAxis, setSecondAxis, setSecondAxis, toBoundingBox, translate
-
Methods inherited from interface org.arakhne.afc.math.geometry.d2.afp.Shape2afp
contains, contains, createTransformedShape, getClosestPointTo, getClosestPointTo, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getGeomFactory, intersects, intersects, toBoundingBox, translate
-
Methods inherited from interface org.arakhne.afc.math.geometry.d2.Shape2D
clone, equalsToPathIterator, getDistance, getDistance, getPathIterator, operator_add, operator_and, operator_and, operator_minus, operator_multiply, operator_plus, operator_remove, operator_upTo
-
-
-
-
Constructor Detail
-
Parallelogram2d
public Parallelogram2d()
Create an empty parallelogram.
-
Parallelogram2d
public Parallelogram2d(Parallelogram2afp<?,?,?,?,?,?> parallelogram)
Create an parallelogram from the given parallelogram.- Parameters:
parallelogram- the parallelogram to copy.
-
Parallelogram2d
public Parallelogram2d(Iterable<? extends Point2D<?,?>> pointCloud)
Construct a parallelogram from the given cloud of points.- Parameters:
pointCloud- - the cloud of points.
-
Parallelogram2d
public Parallelogram2d(Point2D<?,?>... pointCloud)
Construct a parallelogram from the given cloud of points.- Parameters:
pointCloud- - the cloud of points.
-
Parallelogram2d
public Parallelogram2d(double centerX, double centerY, double axis1X, double axis1Y, double axis1Extent, double axis2X, double axis2Y, double axis2Extent)Construct a parallelogram.- Parameters:
centerX- is the X coordinate of the parallelogram center.centerY- is the Y coordinate of the parallelogram center.axis1X- is the X coordinate of first axis of the parallelogram.axis1Y- is the Y coordinate of first axis of the parallelogram.axis1Extent- is the extent of the first parallelogram.axis2X- is the X coordinate of second axis of the parallelogram.axis2Y- is the Y coordinate of second axis of the parallelogram.axis2Extent- is the extent of the second parallelogram.
-
Parallelogram2d
public Parallelogram2d(Point2D<?,?> center, Vector2D<?,?> axis1, double axis1Extent, Vector2D<?,?> axis2, double axis2Extent)
Construct a parallelogram.- Parameters:
center- is the parallelogram center.axis1- is the first axis of the parallelogram.axis1Extent- is the extent of the first axis.axis2- is the second axis of the parallelogram.axis2Extent- is the extent of the second axis.
-
-
Method Detail
-
hashCode
@Pure public int hashCode()
- Specified by:
hashCodein classAbstractShape2d<Parallelogram2d>
-
getCenter
@Pure public Point2d getCenter()
Description copied from interface:Parallelogram2afpReplies the center.- Specified by:
getCenterin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the center.
-
getCenterX
@Pure public double getCenterX()
Description copied from interface:Parallelogram2afpReplies the center x.- Specified by:
getCenterXin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the center x.
-
setCenterX
public void setCenterX(double cx)
Description copied from interface:Parallelogram2afpSet the center's x.- Specified by:
setCenterXin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
cx- the center x.
-
setCenterY
public void setCenterY(double cy)
Description copied from interface:Parallelogram2afpSet the center's y.- Specified by:
setCenterYin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
cy- the center y.
-
getCenterY
@Pure public double getCenterY()
Description copied from interface:Parallelogram2afpReplies the center y.- Specified by:
getCenterYin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the center y.
-
setCenter
public void setCenter(double cx, double cy)Description copied from interface:Parallelogram2afpSet the center.- Specified by:
setCenterin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
cx- the center x.cy- the center y.
-
getFirstAxis
@Pure public Vector2d getFirstAxis()
Description copied from interface:Parallelogram2afpReplies the first axis of the oriented rectangle.- Specified by:
getFirstAxisin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the unit vector of the first axis.
-
getFirstAxisX
@Pure public double getFirstAxisX()
Description copied from interface:Parallelogram2afpReplies coordinate x of the first axis of the oriented rectangle.- Specified by:
getFirstAxisXin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the coordinate x of the unit vector of the first axis.
-
getFirstAxisY
@Pure public double getFirstAxisY()
Description copied from interface:Parallelogram2afpReplies coordinate y of the first axis of the oriented rectangle.- Specified by:
getFirstAxisYin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the coordinate y of the unit vector of the first axis.
-
getSecondAxis
@Pure public Vector2d getSecondAxis()
Description copied from interface:Parallelogram2afpReplies the second axis of the oriented rectangle.- Specified by:
getSecondAxisin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the unit vector of the second axis.
-
getSecondAxisX
@Pure public double getSecondAxisX()
Description copied from interface:Parallelogram2afpReplies coordinate x of the second axis of the oriented rectangle.- Specified by:
getSecondAxisXin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the coordinate x of the unit vector of the second axis.
-
getSecondAxisY
@Pure public double getSecondAxisY()
Description copied from interface:Parallelogram2afpReplies coordinate y of the second axis of the oriented rectangle.- Specified by:
getSecondAxisYin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the coordinate y of the unit vector of the second axis.
-
getFirstAxisExtent
@Pure public double getFirstAxisExtent()
Description copied from interface:Parallelogram2afpReplies the demi-size of the rectangle along its first axis.- Specified by:
getFirstAxisExtentin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the extent along the first axis.
-
setFirstAxisExtent
public void setFirstAxisExtent(double extent)
Description copied from interface:Parallelogram2afpChange the demi-size of the rectangle along its first axis.- Specified by:
setFirstAxisExtentin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
extent- - the extent along the first axis.
-
getSecondAxisExtent
@Pure public double getSecondAxisExtent()
Description copied from interface:Parallelogram2afpReplies the demi-size of the rectangle along its second axis.- Specified by:
getSecondAxisExtentin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Returns:
- the extent along the second axis.
-
setSecondAxisExtent
public void setSecondAxisExtent(double extent)
Description copied from interface:Parallelogram2afpChange the demi-size of the rectangle along its second axis.- Specified by:
setSecondAxisExtentin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
extent- - the extent along the second axis.
-
setFirstAxis
public void setFirstAxis(double x, double y, double extent)Description copied from interface:Parallelogram2afpSet the first axis of the rectangle. The second axis is updated to be perpendicular to the new first axis.- Specified by:
setFirstAxisin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
x- x coordinate of the first axis.y- y coordinate of the first axis.extent- the demi-size of th parallelogram along the first axis.
-
setSecondAxis
public void setSecondAxis(double x, double y, double extent)Description copied from interface:Parallelogram2afpSet the second axis of the rectangle. The first axis is updated to be perpendicular to the new second axis.- Specified by:
setSecondAxisin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
x- x coordinate of the second axis.y- y coordinate of the second axis.extent- the demi-size of the parallelogram along the second axis.
-
set
public void set(double centerX, double centerY, double axis1x, double axis1y, double axis1Extent, double axis2x, double axis2y, double axis2Extent)Description copied from interface:Parallelogram2afpSet the oriented rectangle.- Specified by:
setin interfaceParallelogram2afp<Shape2d<?>,Parallelogram2d,PathElement2d,Point2d,Vector2d,Rectangle2d>- Parameters:
centerX- is the X coordinate of the OBR center.centerY- is the Y coordinate of the OBR center.axis1x- is the X coordinate of first axis of the OBR.axis1y- is the Y coordinate of first axis of the OBR.axis1Extent- is the extent of the first axis.axis2x- is the X coordinate of second axis of the OBR.axis2y- is the Y coordinate of second axis of the OBR.axis2Extent- is the extent of the second axis.
-
-