|
source
PDE Download: Test05c3DPicking.pde
JAVA Download: Test05c3DPicking.java
Click on anar+ terms to get the documentation.
import processing.opengl.*;
import anar.*;
/*
* Example for Anar library by Guillaume LaBelle + Julien Nembrini
* http://anar.ch
*/
RenderPt[] listOfRenders = new RenderPt[5];
void setup(){
size(800,400,OPENGL);
frameRate(200);
Anar.init(this);
Anar.drawAxis();
Anar.drawReferenceFrame(true);
listOfRenders[0] = Anar.renderPtShapeOriented(new FatCross(25),color(255),color(255));
listOfRenders[1] = Anar.renderPtShapeOriented(new Star(5,3,5),color(255),color(255));
listOfRenders[2] = new RenderPtObj(new Box(5).fill(255,200));
listOfRenders[3] = new RenderPtObj(new Platonic(Platonic.SOCCER).scale(0.01f).fill(255,200));
listOfRenders[4] = Anar.renderPtShapeOriented(new FatCross(25),color(255,255,0),color(255,255,0));
Anar.seed(0);
Obj.globalRender = new RenderObjAll();
initForm();
}
void initForm(){
for (int i = 0; i<200; i++)
Anar.add(Anar.PtRnd(200).render(listOfRenders[Anar.rndi(4)]));
}
void draw(){
background(255,0,0);
noLights();
Anar.draw();//Draw all points
////////////////////////////////////////////////////
fill(255);
Anar.text(Anar.pt(0).toString(),Anar.pt(0));
Anar.text("Hello mom! "+frameCount,Anar.pt(1));
////////////////////////////////////////////////////
Vertex v = Anar.pt(0).onScreen();
Anar.screenDrawBegin();
fill(0);
ellipse(v.x,v.y,10,10);
Anar.screenDrawEnd();
///////////////////////////////////////////////////
for(int i=0; i<Anar.numOfPts(); i++)
if(Anar.pt(i).isOver())
listOfRenders[4].draw(Anar.pt(i));
}
void keyPressed(){
Anar.rndReset();
if(key=='q')
Anar.rndPrev();
if(key=='w')
Anar.rndNext();
initForm();
}
screenshots
|