package sample.svg3d;
import static util.NetUtil.*;

public class Cutting12 {
	
	public static final double[] tab0 = {};
	public static final double[] tab1 = { 0, 0, 1, 0, 1-0.2/tan360(36), 0.2, 0.2/tan360(72), 0.2 };
	public static final double[] tab2 = { 0, 0, 1, 0, 1-0.2/tan360(72), 0.2, 0.2/tan360(36), 0.2 };
	public static final double[] tab3 = { 0, 0, 1, 0, 1-0.2/tan360(72), 0.2, 0.2/tan360(72), 0.2 };
	
	public static final double[][][] glueTabSpec12 = {
		{ tab0, tab0, tab0, tab0, tab0 },
		{ tab2, tab0, tab3, tab0, tab0},
		{ tab2, tab0, tab3, tab0, tab0 },
		{ tab2, tab0, tab3, tab0, tab0 },
		{ tab2, tab0, tab3, tab0, tab0 },
		{ tab2, tab0, tab3, tab0, tab0 },
		
		{ tab0, tab0, tab0, tab0, tab0 },
		{ tab0, tab0, tab0, tab1, tab0 },
		{ tab0, tab3, tab0, tab1, tab0 },
		{ tab0, tab3, tab0, tab1, tab0 },
		{ tab0, tab3, tab0, tab1, tab0 },
		{ tab0, tab3, tab0, tab1, tab0 },	
	};
	
	public static void main(String[] args) {		
		setRegularPolyhedronNet(12);
		boolean test = false;
		if (test) {
			start(); 
			trimMark();
			stroke(bw1(0));
			strokeWeight(1);
			noFill();
			fillBackgroundPolyhedron(glueTabSpec12);
		} else {
//			setPageSize(297*900/254, 210*900/254);
			double scale = 900.0/254; // Inkscapeの仕様 (90dpi)
			start();
			// no trim mark
//			trimMark(scale, scale);
			stroke(bw1(0));
			strokeWeight(1);
			fill(bw1(0));
//			scale(900.0/254, 900.0/254);
			fillBackgroundPolyhedron(glueTabSpec12, scale, scale);
		}

		finish();                    /* 最後に必要 */
	}
}
