class Node { int me; int parent; int level; float rx; float ry; float a; float d; int child1; int child2; Node(int level_, int me_, int parent_, float rx_, float ry_, float a_, float d_) { level=level_; me=me_; parent=parent_; rx=rx_; ry=ry_; a=a_; d=d_; child1=child2=-1; } void setME(int me_){me=me_;} int getME(){return me;} void setPARENT(int parent_){parent=parent_;} int getPARENT(){return parent;} void setLEVEL(int level_){level=level_;} int getLEVEL(){return level;} void setC1(int c1_){child1=c1_;} int getC1(){return child1;} void setC2(int c2_){child2=c2_;} int getC2(){return child2;} void setRX(float rx_){rx=rx_;} float getRX(){return rx;} void setRY(float ry_){ry=ry_;} float getRY(){return ry;} void setA(float a_){a=a_;} float getA(){return a;} void setD(float d_){d=d_;} float getD(){return d;} float returnx() { return rx+d*cos(-1*radians(a)); } float returny() { return ry+d*sin(-1*radians(a)); } //NEW NODE CONTROL FUNCTIONS boolean contains(float x, float y) { if( dist(x,y,returnx(),returny()) < 10 && (d > 15) )//TIE distance to getD() to prevent nodal collapse //IF A NODE IS CAPTURED ITS ABILITY TO JITTER SHOULD BE TURNED OFF //NEED A WAY TO ONLY SELECT ONE NODE AT A TIME { fill(255,0,0); ellipse(returnx(),returny(),10,10); return true; } else { return false; } } void MoveToTarget(float x, float y) { setD(dist(rx,ry,x,y)); setA(degrees(atan2(ry-y,x-rx))); } void passtochild() { } }//END Node