import processing.opengl.*; import anar.*; import java.util.ArrayList; /* * Example for Anar library by Guillaume LaBelle + Julien Nembrini * http://anar.ch */ Obj all = new Obj(); Sliders mySliders; void setup(){ size(800,400,OPENGL); Anar.init(this); // Setup DEFAULT rendering of our scene Pts.globalRender = new RenderPtsAll(); Pt.globalRender = new RenderPtCross(new AColor(255,155,155),1); Anar.drawAxis(true); CSpline.globalRender.splineRes.set(5); initForm(); } void initForm(){ // ////////////////////////////////////////// // ////////////////////////////////////////// // Initial SHAPE all = new Obj(); Param inv = new Param( -1); Param d1 = new Param(10); Param d2 = new Param(20); Param d3 = new Param(30); Param r1 = new ParamMul(d1,inv); Param r2 = new ParamMul(d2,inv); Param r3 = new ParamMul(d3,inv); ArrayList tr = new ArrayList(); tr.add(new Translate(d1,0)); tr.add(new Translate(d1,1)); tr.add(new Translate(d1,2)); tr.add(new Translate(r1,0)); tr.add(new Translate(r1,1)); tr.add(new Translate(r1,2)); tr.add(new Translate(d2,0)); tr.add(new Translate(d2,1)); tr.add(new Translate(d2,2)); tr.add(new Translate(r2,0)); tr.add(new Translate(r2,1)); tr.add(new Translate(r2,2)); tr.add(new Translate(d3,0)); tr.add(new Translate(d3,1)); tr.add(new Translate(d3,2)); tr.add(new Translate(r3,0)); tr.add(new Translate(r3,1)); tr.add(new Translate(r3,2)); Pts line = new Pts(); Pt ori = Anar.Pt(0,0,0); for (int i = 0; i<1000; i++){ PtDER newPt = Anar.Pt(ori); newPt.apply((Transform)tr.get(Anar.rndi(tr.size()))); // newPt.apply(new Origine(ori,tz.get(Anar.rndi(tz.size())))); line.add(newPt); ori = newPt; } all.add(line); // ////////////////////////////////////////// // HIRARCHY Anar.camTarget(all); mySliders = new Sliders(all); // print(all.parentList()); } void draw(){ background(200); all.draw(); mySliders.draw(); }