package p5;
import anar.*;



import processing.core.PApplet;

public class Test05c3DPickingConstant extends PApplet {

  /*
   * Example for Anar library by Guillaume LaBelle + Julien Nembrini
   * http://anar.ch
   */


  RenderPt[] listOfRenders = new RenderPt[2];

  public void setup(){
    size(800,400,OPENGL);
    frameRate(200);

    Anar.init(this);
    Anar.drawAxis();
    Anar.drawReferenceFrame(true);
    listOfRenders[0] = new RenderPtShapeConstant(new FatCross(15),new AColor(255),Anar.scene);
    listOfRenders[1] = new RenderPtShapeConstant(new FatCross(15),new AColor(100),Anar.scene);

    Anar.seed(0);
    Obj.globalRender = new RenderObjAll();

    initForm();
  }


  void initForm(){
    for (int i = 0; i<200; i++)
      Anar.add(Anar.PtRnd(200).render(listOfRenders[0]));
  }


  public void draw(){
    background(255,0,0);
    noLights();
    Anar.draw();//Draw all points
    
    ///////////////////////////////////////////////////
    
    for(int i=0; i<Anar.numOfPts(); i++)
      if(Anar.pt(i).isOver())
        listOfRenders[1].draw(Anar.pt(i));
  }

  
  public void keyPressed(){
    Anar.rndReset();

    if(key=='q')
      Anar.rndPrev();
    if(key=='w')
      Anar.rndNext();

    initForm();
  }
  

  public static void main(String[] args){
    PApplet.main(new String[]{Test05c3DPickingConstant.class.getName()});
  }
}
