org.apache.batik.ext.awt.geom
Class Cubic

java.lang.Object
  extended by org.apache.batik.ext.awt.geom.AbstractSegment
      extended by org.apache.batik.ext.awt.geom.Cubic
All Implemented Interfaces:
Cloneable, Segment

public class Cubic
extends AbstractSegment

A class representing a cubic path segment.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.batik.ext.awt.geom.Segment
Segment.SplitResults
 
Field Summary
 Point2D.Double p1
           
 Point2D.Double p2
           
 Point2D.Double p3
           
 Point2D.Double p4
           
 
Constructor Summary
Cubic()
           
Cubic(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
           
Cubic(Point2D.Double p1, Point2D.Double p2, Point2D.Double p3, Point2D.Double p4)
           
 
Method Summary
 Object clone()
           
 Point2D.Double eval(double t)
           
 Point2D.Double evalDt(double t)
           
protected  int findRoots(double y, double[] roots)
           
 Rectangle2D getBounds2D()
           
 double getLength()
           
 double getLength(double maxErr)
           
 Segment getSegment(double t0, double t1)
           
 double maxX()
           
 double maxY()
           
 double minX()
           
 double minY()
           
 Segment reverse()
           
 void subdivide(Cubic c0, Cubic c1)
          Subdivides this Cubic curve into two curves at t = 0.5.
 void subdivide(double t, Cubic c0, Cubic c1)
          Subdivides this Cubic curve into two curves at given t.
 void subdivide(double t, Segment s0, Segment s1)
          Subdivides this Cubic curve into two curves at given t.
 void subdivide(Segment s0, Segment s1)
          Subdivides this Cubic curve into two curves at t = 0.5.
protected  double subLength(double leftLegLen, double rightLegLen, double maxErr)
           
 String toString()
           
 
Methods inherited from class org.apache.batik.ext.awt.geom.AbstractSegment
matchSign, solveCubic, solveLine, solveQuad, split, splitAfter, splitBefore
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

p1

public Point2D.Double p1

p2

public Point2D.Double p2

p3

public Point2D.Double p3

p4

public Point2D.Double p4
Constructor Detail

Cubic

public Cubic()

Cubic

public Cubic(double x1,
             double y1,
             double x2,
             double y2,
             double x3,
             double y3,
             double x4,
             double y4)

Cubic

public Cubic(Point2D.Double p1,
             Point2D.Double p2,
             Point2D.Double p3,
             Point2D.Double p4)
Method Detail

clone

public Object clone()
Overrides:
clone in class Object

reverse

public Segment reverse()

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


Copyright © 2008 Apache Software Foundation. All Rights Reserved.