Class AbstractArc

All Implemented Interfaces:
Shape, Serializable, Cloneable, Comparable, org.gvsig.fmap.geom.Geometry, GeometryJTS, org.gvsig.fmap.geom.primitive.Arc, org.gvsig.fmap.geom.primitive.Curve, org.gvsig.fmap.geom.primitive.OrientableCurve, org.gvsig.fmap.geom.primitive.OrientablePrimitive, org.gvsig.fmap.geom.primitive.Primitive, org.gvsig.tools.util.GetItem<org.gvsig.fmap.geom.primitive.Point>, org.gvsig.tools.util.IsEmpty, org.gvsig.tools.util.Size
Direct Known Subclasses:
Arc2D, Arc2DM, Arc2DZ, Arc2DZM

public abstract class AbstractArc extends AbstractCurve implements org.gvsig.fmap.geom.primitive.Arc
Author:
fdiaz
See Also:
  • Field Details

    • init

      protected org.gvsig.fmap.geom.primitive.Point init
    • middle

      protected org.gvsig.fmap.geom.primitive.Point middle
      This is the middle point (belongs to the arc), not the center of the circle/ellipse
    • end

      protected org.gvsig.fmap.geom.primitive.Point end
  • Constructor Details

    • AbstractArc

      protected AbstractArc(int subtype)
      Parameters:
      subtype -
  • Method Details

    • setPoints

      public void setPoints(org.gvsig.fmap.geom.primitive.Point initialPoint, org.gvsig.fmap.geom.primitive.Point endPoint)
      Specified by:
      setPoints in interface org.gvsig.fmap.geom.primitive.Curve
    • getCoordinateAt

      public double getCoordinateAt(int index, int dimension)
      Specified by:
      getCoordinateAt in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • setCoordinateAt

      public org.gvsig.fmap.geom.primitive.OrientablePrimitive setCoordinateAt(int index, int dimension, double value)
      Specified by:
      setCoordinateAt in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • addVertex

      public org.gvsig.fmap.geom.primitive.OrientablePrimitive addVertex(org.gvsig.fmap.geom.primitive.Point point)
      Specified by:
      addVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • addVertex

      public org.gvsig.fmap.geom.primitive.OrientablePrimitive addVertex(double x, double y)
      Specified by:
      addVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • addVertex

      public org.gvsig.fmap.geom.primitive.OrientablePrimitive addVertex(double x, double y, double z)
      Specified by:
      addVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • removeVertex

      public void removeVertex(int index)
      Specified by:
      removeVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • getVertex

      public org.gvsig.fmap.geom.primitive.Point getVertex(int index)
      Specified by:
      getVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • getNumVertices

      public int getNumVertices()
      Specified by:
      getNumVertices in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • insertVertex

      public org.gvsig.fmap.geom.primitive.OrientablePrimitive insertVertex(int index, org.gvsig.fmap.geom.primitive.Point p)
      Specified by:
      insertVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • setVertex

      public org.gvsig.fmap.geom.primitive.OrientablePrimitive setVertex(int index, org.gvsig.fmap.geom.primitive.Point p)
      Specified by:
      setVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • setGeneralPath

      public void setGeneralPath(org.gvsig.fmap.geom.primitive.GeneralPathX generalPathX)
      Specified by:
      setGeneralPath in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • addMoveToVertex

      public void addMoveToVertex(org.gvsig.fmap.geom.primitive.Point point)
      Specified by:
      addMoveToVertex in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • closePrimitive

      public void closePrimitive()
      Specified by:
      closePrimitive in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • ensureCapacity

      public org.gvsig.fmap.geom.primitive.OrientablePrimitive ensureCapacity(int capacity)
      Specified by:
      ensureCapacity in interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
    • reProject

      public void reProject(org.gvsig.crs.projection.lib.CoordinateTransformation ct)
      Specified by:
      reProject in interface org.gvsig.fmap.geom.Geometry
    • transform

      public void transform(AffineTransform at)
      Specified by:
      transform in interface org.gvsig.fmap.geom.Geometry
    • getDimension

      public int getDimension()
      Specified by:
      getDimension in interface org.gvsig.fmap.geom.Geometry
    • getShape

      public Shape getShape(AffineTransform affineTransform)
      Specified by:
      getShape in interface org.gvsig.fmap.geom.Geometry
    • getShape

      public Shape getShape()
      Specified by:
      getShape in interface org.gvsig.fmap.geom.Geometry
    • is3D

      public boolean is3D()
      Specified by:
      is3D in interface GeometryJTS
    • fixPoint

      protected abstract org.gvsig.fmap.geom.primitive.Point fixPoint(org.gvsig.fmap.geom.primitive.Point point)
      Parameters:
      point -
      Returns:
    • setPoints

      public void setPoints(org.gvsig.fmap.geom.primitive.Point startPoint, org.gvsig.fmap.geom.primitive.Point midPoint, org.gvsig.fmap.geom.primitive.Point endPoint)
      Specified by:
      setPoints in interface org.gvsig.fmap.geom.primitive.Arc
    • getInitPoint

      public org.gvsig.fmap.geom.primitive.Point getInitPoint()
      Specified by:
      getInitPoint in interface org.gvsig.fmap.geom.primitive.Arc
    • getEndPoint

      public org.gvsig.fmap.geom.primitive.Point getEndPoint()
      Specified by:
      getEndPoint in interface org.gvsig.fmap.geom.primitive.Arc
    • getMiddlePoint

      public org.gvsig.fmap.geom.primitive.Point getMiddlePoint()
      Specified by:
      getMiddlePoint in interface org.gvsig.fmap.geom.primitive.Arc
    • normalizeAngle

      protected double normalizeAngle(double angle)
      Leaves the angle between PI and -PI
      Parameters:
      angle - (radians)
      Returns:
    • setPointsStartExt

      public void setPointsStartExt(org.gvsig.fmap.geom.primitive.Point center, double radius, double startAngle, double angleExt)
      Specified by:
      setPointsStartExt in interface org.gvsig.fmap.geom.primitive.Arc
    • setPointsStartEnd

      public void setPointsStartEnd(org.gvsig.fmap.geom.primitive.Point center, double radius, double startAngle, double endAngle)
      Specified by:
      setPointsStartEnd in interface org.gvsig.fmap.geom.primitive.Arc
    • getGeneralPath

      public org.gvsig.fmap.geom.primitive.GeneralPathX getGeneralPath()
      Specified by:
      getGeneralPath in interface org.gvsig.fmap.geom.Geometry
    • getPathIterator

      public PathIterator getPathIterator(AffineTransform at)
      Specified by:
      getPathIterator in interface org.gvsig.fmap.geom.Geometry
      Specified by:
      getPathIterator in interface Shape
    • getPathIterator

      public PathIterator getPathIterator(AffineTransform at, double flatness)
      Specified by:
      getPathIterator in interface org.gvsig.fmap.geom.Geometry
      Specified by:
      getPathIterator in interface Shape
    • flip

      public void flip() throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Specified by:
      flip in interface org.gvsig.fmap.geom.Geometry
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • getStartAngle

      public double getStartAngle()
      Specified by:
      getStartAngle in interface org.gvsig.fmap.geom.primitive.Arc
    • getEndAngle

      public double getEndAngle()
      Specified by:
      getEndAngle in interface org.gvsig.fmap.geom.primitive.Arc
    • offset

      public org.gvsig.fmap.geom.Geometry offset(double distance) throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Specified by:
      offset in interface org.gvsig.fmap.geom.Geometry
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • offset

      public org.gvsig.fmap.geom.Geometry offset(int joinStyle, double distance) throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Specified by:
      offset in interface org.gvsig.fmap.geom.Geometry
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • getScaleAffineTransform

      protected AffineTransform getScaleAffineTransform(org.gvsig.fmap.geom.primitive.Point center, Double scale) throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • canBeTransformed

      public boolean canBeTransformed(AffineTransform at)
      Specified by:
      canBeTransformed in interface org.gvsig.fmap.geom.Geometry
    • canBeReprojected

      public boolean canBeReprojected(org.gvsig.crs.projection.lib.CoordinateTransformation ct)
      Specified by:
      canBeReprojected in interface org.gvsig.fmap.geom.Geometry
    • force2D

      public org.gvsig.fmap.geom.Geometry force2D() throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Specified by:
      force2D in interface org.gvsig.fmap.geom.Geometry
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • force2DM

      public org.gvsig.fmap.geom.Geometry force2DM() throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Specified by:
      force2DM in class AbstractGeometry
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • force3D

      public org.gvsig.fmap.geom.Geometry force3D() throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Specified by:
      force3D in class AbstractGeometry
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • force3DM

      public org.gvsig.fmap.geom.Geometry force3DM() throws org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException, org.gvsig.fmap.geom.operation.GeometryOperationException
      Specified by:
      force3DM in class AbstractGeometry
      Throws:
      org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException
      org.gvsig.fmap.geom.operation.GeometryOperationException
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface org.gvsig.fmap.geom.Geometry
      Specified by:
      isEmpty in interface org.gvsig.tools.util.IsEmpty
      Overrides:
      isEmpty in class AbstractCurve