private void pruneCurrentEdge()
	{
		if(isSleeve(currentTriangle))
		{
			if(allPointsInsideRadius(currentEdge, pointsToCheck))
			{
				prunedTriangles.remove(currentTriangle);
				TriangulationPoint midpoint = Util.getMidpoint(currentEdge.p, currentEdge.q);
				prunedChordalAxis.removePoint(midpoint);
				pointsToCheck.add(currentEdge.p);
				pointsToCheck.add(currentEdge.q);
				DelaunayTriangle nextTriangle = getOppositeTriangle(currentEdge, currentTriangle);
				DTSweepConstraint nextEdge = Util.getSharedEdge(currentTriangle, nextTriangle);
				currentTriangle = nextTriangle;
				currentEdge = nextEdge;
				updateCircle();
			}
			else
			{
				TriangulationPoint midpoint = Util.getMidpoint(currentEdge.p, currentEdge.q);
				fanOut(midpoint, currentEdge.p, currentEdge.q, pointsToCheck);
				selectNextTerminal();
			}
		}
		else if(isJunction(currentTriangle))
		{
			prunedTriangles.remove(currentTriangle);
			TriangulationPoint remainingPoint = Util.getRemainingPoint(currentTriangle, currentEdge);
			TriangulationPoint midpoint = Util.getMidpoint(currentEdge.p, currentEdge.q);
			prunedChordalAxis.removePoint(midpoint);
			TriangulationPoint center = currentTriangle.centroid();
			fanOut(center, currentEdge.p, currentEdge.q, pointsToCheck);
			ChordalAxisPoint axisPoint = prunedChordalAxis.getPoint(center);
			axisPoint.addOutlinePoint(remainingPoint);
			selectNextTerminal();
		}
		else if(isTerminal(currentTriangle))
		{
			TriangulationPoint midpoint = Util.getMidpoint(currentEdge.p, currentEdge.q);
			fanOut(midpoint, currentEdge.p, currentEdge.q, pointsToCheck);
			selectNextTerminal();
		}
		else
		{
			System.err.println("Could not determine type of triangle");
		}
	}