Class Quadradic

  • All Implemented Interfaces:
    java.lang.Cloneable, Segment

    public class Quadradic
    extends AbstractSegment
    A class representing a quadratic path segment.
    • Field Detail

      • p1

        public java.awt.geom.Point2D.Double p1
      • p2

        public java.awt.geom.Point2D.Double p2
      • p3

        public java.awt.geom.Point2D.Double p3
    • Constructor Detail

      • Quadradic

        public Quadradic()
      • Quadradic

        public Quadradic​(double x1,
                         double y1,
                         double x2,
                         double y2,
                         double x3,
                         double y3)
      • Quadradic

        public Quadradic​(java.awt.geom.Point2D.Double p1,
                         java.awt.geom.Point2D.Double p2,
                         java.awt.geom.Point2D.Double p3)
    • Method Detail

      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object
      • reverse

        public Segment reverse()
      • minX

        public double minX()
      • maxX

        public double maxX()
      • minY

        public double minY()
      • maxY

        public double maxY()
      • getBounds2D

        public java.awt.geom.Rectangle2D getBounds2D()
      • evalDt

        public java.awt.geom.Point2D.Double evalDt​(double t)
      • eval

        public java.awt.geom.Point2D.Double eval​(double t)
      • getSegment

        public Segment getSegment​(double t0,
                                  double t1)
      • subdivide

        public void subdivide​(Quadradic q0,
                              Quadradic q1)
        Subdivides this Quadradic curve into two curves at t = 0.5. can be done with getSegment but this is more efficent.
        Parameters:
        q0 - if non-null contains portion of curve from 0->.5
        q1 - if non-null contains portion of curve from .5->1
      • subdivide

        public void subdivide​(double t,
                              Quadradic q0,
                              Quadradic q1)
        Subdivides this Quadradic curve into two curves at given t.
        Parameters:
        q0 - if non-null contains portion of curve from 0->t.
        q1 - if non-null contains portion of curve from t->1.
      • subdivide

        public void subdivide​(Segment s0,
                              Segment s1)
        Subdivides this Quadradic curve into two curves at t = 0.5. can be done with getSegment but this is more efficent.
        Parameters:
        s0 - if non-null contains portion of curve from 0->.5
        s1 - if non-null contains portion of curve from .5->1
      • subdivide

        public void subdivide​(double t,
                              Segment s0,
                              Segment s1)
        Subdivides this Quadradic curve into two curves at t. can be done with getSegment but this is more efficent.
        Parameters:
        s0 - if non-null contains portion of curve from 0->.5
        s1 - if non-null contains portion of curve from .5->1
      • subLength

        protected double subLength​(double leftLegLen,
                                   double rightLegLen,
                                   double maxErr)
      • getLength

        public double getLength()
      • getLength

        public double getLength​(double maxErr)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object