boolean showMenu=true; boolean showNormals=false, showVertices=false, showEdges=false, showTriangles=true, showSelectedTriangle=true, showLabels=false, showPath=false; // flags for rendering boolean showSkeleton=true, showSelectedLake=true, showOtherLakes=true, showDistance=false, showEB=false, showEBrec=false, showClusters=true; int radio=1; void loadButtons() { Buttons.add(new button("radio",-2,radio,2,0,10)); } void loadToggles() { // ACTIONS Toggles.add(new toggle("home view",false)); // TOGGLES Toggles.add(new toggle("show vertices",showVertices)); } void checkMenu() { int k= Buttons.click(); int m=-1; if(k==++m) radio=int(Buttons.v(m)); k= Toggles.click(); m=-1; // ACTIONS if(k==++m) {Toggles.B[m].V=false; C.F.setToPoint(Cbox); C.D=Rbox*2; C.U.setTo(0,1,0); C.E.setToPoint(C.F); C.E.addVec(new vec(0,0,1)); C.pullE(); C.pose(); }; // TOGGLES if(k==++m) showVertices=Toggles.v(m); } void menu () { if(showMenu) { Buttons.show(); Toggles.show(); pushMatrix(); translate(width-290,Buttons.depth()); text("Viewer for triangle meshes",0,0); translate(0,20); text("built in Processing by Jarek Rossignac",0,0); translate(0,20); // text("last file read: "+lastRead,0,0); translate(0,20); popMatrix(); }; } buttons Buttons= new buttons(); class button { int x=0, y=0; String name = "valeur"; float V=1.234, Vmin=-10, Vdefault = 0, Vmax=10, Vincrement=0.1, VfastIncrement=1; int d=18, i=4; button() {}; button(String _name, float _Vmin, float _Vdefault, float _Vmax, float _Vincrement, float _VfastIncrement) { name=_name; Vmin=_Vmin; Vdefault= _Vdefault; Vmax= _Vmax; Vincrement= _Vincrement; VfastIncrement= _VfastIncrement; V=Vdefault; }; void putAt(int _x, int _y) {x=_x; y=_y;}; float v() {return(V);} void show() { stroke(dgreen); fill(green); rect(x+i,y,d,d); rect(x+i+d+i,y,d,d); rect(x+i+2*(d+i),y,d,d); rect(x+i+3*(d+i),y,d,d); rect(x+i+4*(d+i),y,d,d); fill(black); noStroke(); text(" |< - . + >| "+Format(V,4,4)+" = "+name,x,y+14); noFill(); }; boolean click() { if ( (x+i=0) sign="+"; String spaces = " "; String s=nf(abs(f),n,z); while (s.indexOf("0")==0) {s=s.substring(1,s.length());}; int b=s.indexOf("."); int a=max(0,n-b); int c=s.length()-b-1; int d=0; if (c>z) {s=s.substring(0,b+1+z); c=z;} else { d=z-c;}; String front = spaces.substring(0, a); String back = spaces.substring(0, d); return(front+sign+s+back); };