public void getTriangles(Node CurrentNode){
    	if(CurrentNode.NorthEast != null) getTriangles(CurrentNode.NorthEast);
    	if(CurrentNode.NorthWest != null) getTriangles(CurrentNode.NorthWest);
    	if(CurrentNode.SouthEast != null) getTriangles(CurrentNode.SouthEast);
    	if(CurrentNode.SouthWest != null) getTriangles(CurrentNode.SouthWest);
    	
    	//add the 2 triangles for this node if it is a leaf and doesn't have a datapoint
    	if(CurrentNode.NorthEast == null && CurrentNode.NorthWest == null && CurrentNode.SouthEast == null && CurrentNode.SouthWest == null && CurrentNode.Data == null){
    		Triangles.add(new Triangle(CurrentNode.LowerLeft, CurrentNode.UpperLeft, CurrentNode.UpperRight));
        	Triangles.add(new Triangle(CurrentNode.UpperRight, CurrentNode.LowerRight, CurrentNode.LowerLeft));
    	}
    	//if there's a datapoint we gotta make 4 triangles
    	else if(CurrentNode.NorthEast == null && CurrentNode.NorthWest == null && CurrentNode.SouthEast == null && CurrentNode.SouthWest == null && CurrentNode.Data != null){
    		Triangles.add(new Triangle(CurrentNode.UpperLeft, CurrentNode.UpperRight, CurrentNode.Data));
    		Triangles.add(new Triangle(CurrentNode.UpperRight, CurrentNode.LowerRight, CurrentNode.Data));
    		Triangles.add(new Triangle(CurrentNode.LowerRight,CurrentNode.LowerLeft,CurrentNode.Data));
    		Triangles.add(new Triangle(CurrentNode.UpperLeft, CurrentNode.LowerLeft, CurrentNode.Data));
    	}
    	
    	return;
    	
    }