void setupGUI() { g3 = (PGraphics3D)g; //interface functions: controlP5 = new ControlP5(this); controlP5.setColorActive(0xa0090909); controlP5.setColorBackground(0x20ffffff); controlP5.setColorForeground(0xb0aaaaaa); //background of sliders controlP5.setColorLabel(0xffffffff); controlP5.setColorValue(0xffffffff); prev = controlP5.addButton("previous",1,width - 160, 80,60,15); next = controlP5.addButton("next",1,width - 80, 80,60,15); prev.setColorLabel(0xffcccccc); next.setColorLabel(0xffcccccc); checkbox = controlP5.addCheckBox("checkBox",width/2-60, height-80); // checkbox.setId(1); // ControlGroup l2 = controlP5.addGroup("checkboxes",0,height-100,width/2); checkbox.activateEvent(true); //checkbox.deactivateEvent(true); // make adjustments to the layout of a checkbox. checkbox.setColorForeground(color(120)); checkbox.setColorActive(color(255)); checkbox.setColorLabel(color(128)); checkbox.setItemsPerRow(3); checkbox.setSpacingColumn(80); checkbox.setSpacingRow(10); // add items to a checkbox. boolean[] cVals = { spherical, lg, dr,ax, lb, ln }; String[] checkboxes = { "Spherical", "Log", "Animate","Axis"," Labels", "Lines" }; for(int i = 0; i < checkboxes.length; i++){ checkbox.addItem(checkboxes[i],i);//.setId(1); if(cVals[i] == true) checkbox.toggle(i); } checkbox.addItem("MAT259",10); checkbox.addItem("Visualization",50); checkbox.addItem("by",100); checkbox.addItem("Zachary",200); checkbox.addItem("Rubin",5); l = controlP5.addGroup("sliders",0,height-100,width); l.activateEvent(true); l.hideBar(); l.setBackgroundColor(color(255,25)); l.setBarHeight(15); l.setBackgroundHeight(200); // l.setGroup(0); mySmallTextlabel = controlP5.addTextlabel("nameLabel","CONTROL",5,5); // opacity, bgcolor, anamition speed mySmallTextlabel.setColorValue(0xffcccccc); mySmallTextlabel.setGroup(l); if (mo > formatsPresent) nvw = "Now Viewing: All"; else nvw = "Now Viewing: " + formats[mo]; nowViewingLabel = controlP5.addTextlabel("viewingLabel",nvw,680,5); nowViewingLabel.setColorValue(0xffcccccc); nowViewingLabel.setGroup(l); zoomS = controlP5.addSlider("ZOOM",1,7500,zoom,5,20,200,15); zoomS.setGroup(l); zoomS.setId(0); opacityS = controlP5.addSlider("Opacity",0,255,opacity,5,40,200,15); opacityS.setGroup(l); opacityS.setId(1); bgcolorS = controlP5.addSlider("background",0,255,bgcolor,5,60,200,15); bgcolorS.setGroup(l); bgcolorS.setId(2); animationS = controlP5.addSlider("Animation Speed",0,60,animationSpeed,5,80,200,15); animationS.setGroup(l); animationS.setId(3); prev.setGroup(l); next.setGroup(l); controlP5.setAutoDraw(false); } void gui() { currCameraMatrix = new PMatrix3D(g3.camera); camera(); controlP5.draw(); g3.camera = currCameraMatrix; } void controlEvent(ControlEvent theEvent) { if(theEvent.isGroup()) { /// println(theEvent.group()); //print("got an event from "+theEvent.group().name()+"\t"); // checkbox uses arrayValue to store the state of // individual checkbox-items. usage: if(sphericalT) spherical = false; if(lgT) lg = false; if(drT) dr = false; if(axT) ax = false; if(lnT) ln = false; if(lbT) lb = false; for(int i=0;i formatsPresent) nvw = "Now Viewing: All"; else nvw = "Now Viewing: " + formats[mo]; nowViewingLabel.setValue(nvw); maxTime = 0; minTime = 50; } // function buttonB will receive changes from // controller with name buttonB public void next() { mo++; stillPos = 0; if (mo > formatsPresent+1) mo = 0; if (mo > formatsPresent) nvw = "Now Viewing: All"; else nvw = "Now Viewing: " + formats[mo]; nowViewingLabel.setValue(nvw); maxTime = 0; minTime = 50; }