FreeHEP API
Version v1.2.2

org.freehep.graphicsio
Class CubicToQuadPathConstructor

java.lang.Object
  |
  +--org.freehep.graphicsio.AbstractPathConstructor
        |
        +--org.freehep.graphicsio.CubicToQuadPathConstructor
All Implemented Interfaces:
PathConstructor
Direct Known Subclasses:
SWFPathConstructor

public abstract class CubicToQuadPathConstructor
extends AbstractPathConstructor

Implements the Cubic Bezier Curve PathConstructor functionality in terms of Quadratic Bezier Curves Uses an algorithm puplished as ActionScript (SWF) by: Robert Penner www.robertpenner.com ========================== Cubic Bezier Drawing v0.9 ========================== recursive quadratic approximation with adjustable tolerance May 20, 2002

Version:
$Id: CubicToQuadPathConstructor.java,v 1.4 2003/06/09 21:52:57 duns Exp $
Author:
Mark Donszelmann

Field Summary
 
Fields inherited from class org.freehep.graphicsio.AbstractPathConstructor
currentX, currentY
 
Constructor Summary
protected CubicToQuadPathConstructor(double resolution)
           
 
Method Summary
 void closePath()
          Closes the path by drawing a straight line to the last point which was argument to move.
 void cubic(double x1, double y1, double x2, double y2, double x3, double y3)
          Draws a cubic bezier curve from the current point to (x3, y3) using the control points (x1, y1) and (x2, y2) and make (x3, y3) the current point.
static Point2D intersect(Point2D p1, Point2D p2, Point2D p3, Point2D p4)
           
 void line(double x, double y)
          Draws a line from the current point to (x,y) and make (x,y) the current point.
static void main(String[] args)
           
static Point2D midPoint(Point2D a, Point2D b)
           
 void move(double x, double y)
          Makes (x,y) the current point.
 void quadratify(Point2D a, Point2D b, Point2D c, Point2D d)
           
 
Methods inherited from class org.freehep.graphicsio.AbstractPathConstructor
addPath, addPath, flush, isEvenOdd
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.freehep.graphicsio.PathConstructor
quad
 

Constructor Detail

CubicToQuadPathConstructor

protected CubicToQuadPathConstructor(double resolution)
Method Detail

move

public void move(double x,
                 double y)
          throws IOException
Description copied from interface: PathConstructor
Makes (x,y) the current point.

IOException

line

public void line(double x,
                 double y)
          throws IOException
Description copied from interface: PathConstructor
Draws a line from the current point to (x,y) and make (x,y) the current point.

IOException

cubic

public void cubic(double x1,
                  double y1,
                  double x2,
                  double y2,
                  double x3,
                  double y3)
           throws IOException
Description copied from interface: PathConstructor
Draws a cubic bezier curve from the current point to (x3, y3) using the control points (x1, y1) and (x2, y2) and make (x3, y3) the current point.

IOException

closePath

public void closePath()
               throws IOException
Description copied from interface: PathConstructor
Closes the path by drawing a straight line to the last point which was argument to move.

IOException

intersect

public static Point2D intersect(Point2D p1,
                                Point2D p2,
                                Point2D p3,
                                Point2D p4)

midPoint

public static Point2D midPoint(Point2D a,
                               Point2D b)

quadratify

public void quadratify(Point2D a,
                       Point2D b,
                       Point2D c,
                       Point2D d)
                throws IOException
IOException

main

public static void main(String[] args)
                 throws Exception
Exception

FreeHEP API
Version v1.2.2

Copyright © 2000-2003 FreeHEP, All Rights Reserved.