Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.batik.ext.awt.geom
Class Quadradic  view Quadradic download Quadradic.java

java.lang.Object
  extended byorg.apache.batik.ext.awt.geom.AbstractSegment
      extended byorg.apache.batik.ext.awt.geom.Quadradic
All Implemented Interfaces:
java.lang.Cloneable, Segment

public class Quadradic
extends AbstractSegment

A class representing a quadratic path segment.

Version:
$Id: Quadradic.java,v 1.3 2005/03/27 08:58:32 cam Exp $

Nested Class Summary
 
Nested classes inherited from class org.apache.batik.ext.awt.geom.Segment
Segment.SplitResults
 
Field Summary
(package private) static int count
           
 java.awt.geom.Point2D.Double p1
           
 java.awt.geom.Point2D.Double p2
           
 java.awt.geom.Point2D.Double p3
           
 
Fields inherited from class org.apache.batik.ext.awt.geom.AbstractSegment
eps, tol
 
Constructor Summary
Quadradic()
           
Quadradic(double x1, double y1, double x2, double y2, double x3, double y3)
           
Quadradic(java.awt.geom.Point2D.Double p1, java.awt.geom.Point2D.Double p2, java.awt.geom.Point2D.Double p3)
           
 
Method Summary
 java.lang.Object clone()
          This method may be called to create a new copy of the Object.
 java.awt.geom.Point2D.Double eval(double t)
           
 java.awt.geom.Point2D.Double evalDt(double t)
           
protected  int findRoots(double y, double[] roots)
           
 java.awt.geom.Rectangle2D getBounds2D()
           
 double getLength()
           
 double getLength(double maxErr)
           
private  void getMinMax(double p1, double p2, double p3, double[] minMax)
           
 Segment getSegment(double t0, double t1)
           
 double maxX()
           
 double maxY()
           
 double minX()
           
 double minY()
           
 Segment reverse()
           
 void subdivide(double t, Quadradic q0, Quadradic q1)
          Subdivides this Quadradic curve into two curves at given t.
 void subdivide(double t, Segment s0, Segment s1)
          Subdivides this Quadradic curve into two curves at t.
 void subdivide(Quadradic q0, Quadradic q1)
          Subdivides this Quadradic curve into two curves at t = 0.5.
 void subdivide(Segment s0, Segment s1)
          Subdivides this Quadradic curve into two curves at t = 0.5.
protected  double subLength(double leftLegLen, double rightLegLen, double maxErr)
           
 java.lang.String toString()
          Convert this Object to a human-readable String.
 
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 java.awt.geom.Point2D.Double p1

p2

public java.awt.geom.Point2D.Double p2

p3

public java.awt.geom.Point2D.Double p3

count

static int count
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()
Description copied from class: java.lang.Object
This method may be called to create a new copy of the Object. The typical behavior is as follows:
  • o == o.clone() is false
  • o.getClass() == o.clone().getClass() is true
  • o.equals(o) is true

However, these are not strict requirements, and may be violated if necessary. Of the three requirements, the last is the most commonly violated, particularly if the subclass does not override Object.equals(Object)>Object.equals(Object) 55 .

If the Object you call clone() on does not implement java.lang.Cloneable (which is a placeholder interface), then a CloneNotSupportedException is thrown. Notice that Object does not implement Cloneable; this method exists as a convenience for subclasses that do.

Object's implementation of clone allocates space for the new Object using the correct class, without calling any constructors, and then fills in all of the new field values with the old field values. Thus, it is a shallow copy. However, subclasses are permitted to make a deep copy.

All array types implement Cloneable, and override this method as follows (it should never fail):

 public Object clone()
 {
   try
     {
       super.clone();
     }
   catch (CloneNotSupportedException e)
     {
       throw new InternalError(e.getMessage());
     }
 }
 


reverse

public Segment reverse()

getMinMax

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

minX

public double minX()

maxX

public double maxX()

minY

public double minY()

maxY

public double maxY()

getBounds2D

public java.awt.geom.Rectangle2D getBounds2D()

findRoots

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

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.


subdivide

public void subdivide(double t,
                      Quadradic q0,
                      Quadradic q1)
Subdivides this Quadradic curve into two curves at given t.


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.


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.


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()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).