import processing.opengl.*; import anar.*; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Anar goo; CSpline bspA; CSpline bspB; CSpline bspC; // ParametricValue pv; SplineSurf mySurf; SplineSurf2 mySurf2; Sliders mySliders; void setup(){ size(800,400,OPENGL); frameRate(200); Anar.init(this); Anar.drawAxis(true); initShape(); Pts.globalRender = new RenderPtsAll(); Pt.globalRender = new RenderPtShapeOriented(new AColor(100),new AColor(255,0,0,150),Anar.scene); } void initShape(){ Pts baseLine = new Pts(); Pts controlMesh = new Pts(); Param pv = new Param(3,0,5); baseLine.add(Anar.Pt( -50, -50,10)); baseLine.add(Anar.Pt( -50,0,50)); baseLine.add(Anar.Pt( -50,50,20)); baseLine.add(Anar.Pt( -50,100,30)); bspA = new CSpline(baseLine,pv); controlMesh.ptList.addAll(baseLine.ptList); // bsp.closedMode = true; // bsp.mode = CSpline.NEXT; baseLine = new Pts(); baseLine.add(Anar.Pt(0, -50,20)); baseLine.add(Anar.Pt(0,0,50)); baseLine.add(Anar.Pt(0,50, -10)); baseLine.add(Anar.Pt(0,100, -50)); bspB = new CSpline(baseLine,pv); controlMesh.ptList.addAll(baseLine.ptList); baseLine = new Pts(); baseLine.add(Anar.Pt(50, -50,10)); baseLine.add(Anar.Pt(50,0,20)); baseLine.add(Anar.Pt(50,50,20)); baseLine.add(Anar.Pt(50,100,30)); bspC = new CSpline(baseLine,pv); controlMesh.ptList.addAll(baseLine.ptList); // mySurf = new SplineSurf(bspA,bspB); mySurf2 = new SplineSurf2(controlMesh,4,pv,pv); // Anar.camTarget(mySurf); mySliders = new Sliders(mySurf2); println(controlMesh.parentList()); } void draw(){ background(190); // baseLine.draw(); // bspA.draw(); // bspB.draw(); // bspC.draw(); // mySurf.draw(); mySurf2.draw(); mySliders.draw(); // // Iterator it = controlMesh.iterator(); // while (it.hasNext()) it.next().draw(); if(key=='k'){ // pv.set(mouseX/(float)width/2f); CSpline.globalRender.splineRes.set(mouseY/(float)height*60+1); } } private boolean drawConstruction = true; void keyPressed(){ switch(key){ case ' ': if(drawConstruction) drawConstruction = false; else drawConstruction = true; break; } } void prnt(Object s){ super.println(s); super.println("-----------------------------"); }