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 Linear  view Linear download Linear.java

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

public class Linear
extends java.lang.Object
implements Segment

A class representing a linear path segment.

Version:
$Id: Linear.java,v 1.4 2005/04/02 14:26:09 deweese Exp $

Nested Class Summary
 
Nested classes inherited from class org.apache.batik.ext.awt.geom.Segment
Segment.SplitResults
 
Field Summary
 java.awt.geom.Point2D.Double p1
           
 java.awt.geom.Point2D.Double p2
           
 
Constructor Summary
Linear()
           
Linear(double x1, double y1, double x2, double y2)
           
Linear(java.awt.geom.Point2D.Double p1, java.awt.geom.Point2D.Double p2)
           
 
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)
           
 java.awt.geom.Rectangle2D getBounds2D()
           
 double getLength()
           
 double getLength(double maxErr)
           
 Segment getSegment(double t0, double t1)
           
 double maxX()
           
 double maxY()
           
 double minX()
           
 double minY()
           
 Segment reverse()
           
 Segment.SplitResults split(double y)
           
 Segment splitAfter(double t)
           
 Segment splitBefore(double t)
           
 void subdivide(double t, Linear l0, Linear l1)
          Subdivides this Cubic curve into two curves.
 void subdivide(double t, Segment s0, Segment s1)
          Subdivides this Linear segment into two segments at given t.
 void subdivide(Linear l0, Linear l1)
          Subdivides this Cubic curve into two curves at t = 0.5.
 void subdivide(Segment s0, Segment s1)
          Subdivides this Linear segment into two segments at t = 0.5.
 java.lang.String toString()
          Convert this Object to a human-readable String.
 
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
Constructor Detail

Linear

public Linear()

Linear

public Linear(double x1,
              double y1,
              double x2,
              double y2)

Linear

public Linear(java.awt.geom.Point2D.Double p1,
              java.awt.geom.Point2D.Double p2)
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()

minX

public double minX()
Specified by:
minX in interface Segment

maxX

public double maxX()
Specified by:
maxX in interface Segment

minY

public double minY()
Specified by:
minY in interface Segment

maxY

public double maxY()
Specified by:
maxY in interface Segment

getBounds2D

public java.awt.geom.Rectangle2D getBounds2D()
Specified by:
getBounds2D in interface Segment

evalDt

public java.awt.geom.Point2D.Double evalDt(double t)
Specified by:
evalDt in interface Segment

eval

public java.awt.geom.Point2D.Double eval(double t)
Specified by:
eval in interface Segment

split

public Segment.SplitResults split(double y)
Specified by:
split in interface Segment

getSegment

public Segment getSegment(double t0,
                          double t1)
Specified by:
getSegment in interface Segment

splitBefore

public Segment splitBefore(double t)
Specified by:
splitBefore in interface Segment

splitAfter

public Segment splitAfter(double t)
Specified by:
splitAfter in interface Segment

subdivide

public void subdivide(Segment s0,
                      Segment s1)
Subdivides this Linear segment into two segments at t = 0.5. can be done with getSegment but this is more efficent.

Specified by:
subdivide in interface Segment

subdivide

public void subdivide(double t,
                      Segment s0,
                      Segment s1)
Subdivides this Linear segment into two segments at given t.

Specified by:
subdivide in interface Segment

subdivide

public void subdivide(Linear l0,
                      Linear l1)
Subdivides this Cubic curve into two curves at t = 0.5. Can be done with getSegment but this is more efficent.


subdivide

public void subdivide(double t,
                      Linear l0,
                      Linear l1)
Subdivides this Cubic curve into two curves. Can be done with getSegment but this is more efficent.


getLength

public double getLength()
Specified by:
getLength in interface Segment

getLength

public double getLength(double maxErr)
Specified by:
getLength in interface Segment

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()).