float a; float dy = 16; int k = 0; int detectorAngles = 2; int ellipsex; int ellipsey; int ellipseflag = 0; int numvertices = 3; int inc = 0, vertinc = 0; int numRays; float[] polydata = new float[20]; // max of 10 vertices int[][] testRay; //Reconstruction[] backProjection = new Reconstruction[detectorAngles]; Reconstruction[] backProjection = new Reconstruction[10]; int buttonOffsetX = 256; int buttonOffsetY; int mouseCounter = 0; int selectedBtnP, selectedBtnD; color currentcolor; RectButton prect1, prect2, prect3, prect4, prect5, prect6, prect7, prect8; RectButton drect1, drect2, drect3, drect4, drect5, drect6, drect7, drect8; boolean locked = false; void setup() { size(1536, 512); stroke(255); smooth(); numRays = height; a = height; // detectorAngles = 9; // numvertices = 3; // testRay = new int[detectorAngles][numRays+1]; testRay = new int[9][numRays+1]; background(0); color baseColor = color(102); currentcolor = baseColor; PFont font; font = loadFont("ArialMT-12.vlw"); textFont(font, 12); // Define and create rectangle button color buttoncolor = color(102); color highlight = color(51); buttonOffsetY = 4; prect1 = new RectButton(buttonOffsetX, buttonOffsetY, 20, buttoncolor, highlight,3); prect2 = new RectButton(buttonOffsetX+24, buttonOffsetY, 20, buttoncolor, highlight,4); prect3 = new RectButton(buttonOffsetX+48, buttonOffsetY, 20, buttoncolor, highlight,5); prect4 = new RectButton(buttonOffsetX+72, buttonOffsetY, 20, buttoncolor, highlight,6); prect5 = new RectButton(buttonOffsetX+96, buttonOffsetY, 20, buttoncolor, highlight,7); prect6 = new RectButton(buttonOffsetX+120, buttonOffsetY, 20, buttoncolor, highlight,8); prect7 = new RectButton(buttonOffsetX+144, buttonOffsetY, 20, buttoncolor, highlight,9); prect8 = new RectButton(buttonOffsetX+168, buttonOffsetY, 20, buttoncolor, highlight,10); buttonOffsetY = 28; drect1 = new RectButton(buttonOffsetX, buttonOffsetY, 20, buttoncolor, highlight,2); drect2 = new RectButton(buttonOffsetX+24, buttonOffsetY, 20, buttoncolor, highlight,3); drect3 = new RectButton(buttonOffsetX+48, buttonOffsetY, 20, buttoncolor, highlight,4); drect4 = new RectButton(buttonOffsetX+72, buttonOffsetY, 20, buttoncolor, highlight,5); drect5 = new RectButton(buttonOffsetX+96, buttonOffsetY, 20, buttoncolor, highlight,6); drect6 = new RectButton(buttonOffsetX+120, buttonOffsetY, 20, buttoncolor, highlight,7); drect7 = new RectButton(buttonOffsetX+144, buttonOffsetY, 20, buttoncolor, highlight,8); drect8 = new RectButton(buttonOffsetX+168, buttonOffsetY, 20, buttoncolor, highlight,9); } void mouseReleased() { int m; mouseCounter = mouseCounter + 1; // print("mouseCounter = "+mouseCounter+"\n"); if (mouseCounter > 2 && vertinc <= numvertices){ polydata[2*vertinc] = mouseX-width/6; polydata[2*vertinc+1] = mouseY-height/2; vertinc = vertinc + 1; if(vertinc > 1){ stroke(255); for (m = 1; m