code: private static Triangle findnext1(Vector3 p, Triangle v) {
  		if (!v.abnext.halfplane && PointLineTest.pointLineTest(v.a, v.b, p) == PointLinePosition.RIGHT)
  			return v.abnext;
  		if (!v.bcnext.halfplane && PointLineTest.pointLineTest(v.b, v.c, p) == PointLinePosition.RIGHT)
  			return v.bcnext;
  		if (!v.canext.halfplane && PointLineTest.pointLineTest(v.c, v.a, p) == PointLinePosition.RIGHT)
  			return v.canext;
  		if (PointLineTest.pointLineTest(v.a, v.b, p) == PointLinePosition.RIGHT)
  			return v.abnext;
  		if (PointLineTest.pointLineTest(v.b, v.c, p) == PointLinePosition.RIGHT)
  			return v.bcnext;
  		if (PointLineTest.pointLineTest(v.c, v.a, p) == PointLinePosition.RIGHT)
  			return v.canext;
  		return null;
  	}
docs: /*
  assumes v is NOT an halfplane!
  returns the next triangle for find.