FreeHEP API
Version current

org.freehep.graphicsio
Class CubicToQuadPathConstructor

java.lang.Object
  extended byorg.freehep.graphicsio.AbstractPathConstructor
      extended byorg.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 the same algorithm published as ActionScript (SWF) by Robert Penner: ========================== Cubic Bezier Drawing v1.1 ========================== recursive quadratic approximation with adjustable tolerance March 4, 2004 Robert Penner www.robertpenner.com/tools/bezier_cubic.zip file: bezier_draw_cubic.as ==========================

Version:
$Id: CubicToQuadPathConstructor.java,v 1.7 2004/12/28 18:02:44 duns Exp $
Author:
Mark Donszelmann
Source Code:
CubicToQuadPathConstructor.java

Field Summary
 
Fields inherited from class org.freehep.graphicsio.AbstractPathConstructor
currentX, currentY
 
Constructor Summary
protected CubicToQuadPathConstructor(double resolution)
           
 
Method Summary
 void closePath(double x0, double y0)
          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, 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.

Throws:
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.

Throws:
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.

Throws:
IOException

closePath

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

Throws:
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
Throws:
IOException

main

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

FreeHEP API
Version current

Copyright © 2000-2004 FreeHEP, All Rights Reserved.