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 }