RenderingTechniqueCatmullRom.java

00001 package edu.stanford.hci.r3.render.ink;
00002 
00003 import java.awt.BasicStroke;
00004 import java.awt.Graphics2D;
00005 import java.util.List;
00006 
00007 import edu.stanford.hci.r3.pen.ink.InkStroke;
00008 import edu.stanford.hci.r3.util.geometry.CatmullRomSpline;
00009 
00020 class RenderingTechniqueCatmullRom implements RenderingTechnique {
00021 
00022         public void render(Graphics2D g2d, List<InkStroke> strokes) {
00023                 for (InkStroke stroke : strokes) {
00024                         double width = stroke.getWidth();
00025                         g2d.setStroke(new BasicStroke((float) width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
00026                         final CatmullRomSpline crspline = new CatmullRomSpline();
00027                         final double[] x = stroke.getXSamples();
00028                         final double[] y = stroke.getYSamples();
00029                         crspline.setPoints(x, y);
00030                         g2d.draw(crspline.getShape());
00031                 }
00032         }
00033 }

Generated on Sat Apr 14 18:21:38 2007 for R3 Paper Toolkit by  doxygen 1.4.7