Class Cubic

All Implemented Interfaces:
Cloneable, Segment

public class Cubic extends AbstractSegment
A class representing a cubic path segment.
Version:
$Id: Cubic.java 1805408 2017-08-18 12:21:52Z ssteiner $
  • Field Details

  • Constructor Details

  • Method Details

    • clone

      public Object clone()
      Overrides:
      clone in class Object
    • reverse

      public Segment reverse()
    • getMinMax

      private void getMinMax(double p1, double p2, double p3, double p4, double[] minMax)
    • minX

      public double minX()
    • maxX

      public double maxX()
    • minY

      public double minY()
    • maxY

      public double maxY()
    • getBounds2D

      public Rectangle2D getBounds2D()
    • findRoots

      protected int findRoots(double y, double[] roots)
      Specified by:
      findRoots in class AbstractSegment
    • evalDt

      public Point2D.Double evalDt(double t)
    • eval

      public Point2D.Double eval(double t)
    • subdivide

      public void subdivide(Segment s0, Segment s1)
      Subdivides this Cubic 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 Cubic curve into two curves at given t.
      Parameters:
      s0 - if non-null contains portion of curve from 0->t.
      s1 - if non-null contains portion of curve from t->1.
    • subdivide

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

      public void subdivide(double t, Cubic c0, Cubic c1)
      Subdivides this Cubic curve into two curves at given t.
      Parameters:
      c0 - if non-null contains portion of curve from 0->t.
      c1 - if non-null contains portion of curve from t->1.
    • getSegment

      public Segment getSegment(double t0, double t1)
    • subLength

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

      public double getLength()
    • getLength

      public double getLength(double maxErr)
    • toString

      public String toString()
      Overrides:
      toString in class Object