I'm trying to insert element to quadtree when mouse clicked. I call insert method when mouse clicked and sending point as parameter. After few clicks, while loop in insert method goes infinity and I couldn't find out why.
Here's method;
public void insert(Point point){
Node newNode = new Node(point);
if(root==null){
root=newNode;
return;
}
Node current=root;
Node parent=null;
while(true){
parent = current;
System.out.println("a");
if(point.getX()<current.point.getX() && point.getY()<current.point.getY()){
current=current.NW;
if(current==null){
parent.NW= newNode;
return;
}
}
else if(point.getX()>current.point.getX() && point.getY()<current.point.getY()){
current=current.NE;
if(current==null){
parent.NE= newNode;
return;
}
}
else if(point.getX()<current.point.getX() && point.getY()>current.point.getY()){
current=current.SW;
if(current==null){
parent.SW=newNode;
return;
}
}
else if(point.getX()>current.point.getX() && point.getY()>current.point.getY()){
current=current.SE;
if(current==null){
parent.SE=newNode;
return;
}
}
}
}
If you need rest of code, let me know.