class Node { int me; int parent; int level; float rx; float ry; float a; float d; boolean connected; ArrayList children = new ArrayList(); 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_; connected=false; } 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;} int getCHILDSIZE() {return children.size();} void addCHILD(int c_) { children.add(new Child(c_));} void setCHILD(int i, int c) { Child n= (Child) children.get(i); n.setC(c); } int getCHILD(int i) { Child n= (Child) children.get(i); return n.getC(); } void setCONNECTED(boolean c) {connected=c;} boolean getCONNECTED() {return connected;} void removeCHILD(int i) {children.remove(i);} 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)); } boolean contains(float x, float y) { if( dist(x,y,returnx(),returny()) < 10 && (d > 15) )//TIE distance to getD() to prevent nodal collapse { 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