private String evaluateWhichObstacleFunction(final String clause) {
		if (clause == null || clause.equals(""))
			return null;
		int no = model.getObstacles().size();
		if (no <= 0)
			return "-1";
		int i = clause.indexOf("(");
		int j = clause.lastIndexOf(")");
		if (i == -1 || j == -1) {
			out(ScriptEvent.FAILED, "function must be enclosed within parenthesis: " + clause);
			return null;
		}
		String s = clause.substring(i + 1, j);
		String[] t = s.split(",");
		int n = t.length;
		switch (n) {
		case 2:
			float[] x = parseArray(2, t);
			if (x != null) {
				for (int k = 0; k < x.length; k++)
					x[k] *= IR_CONVERTER;
				RectangularObstacle ro = null;
				for (int k = 0; k < no; k++) {
					ro = model.getObstacles().get(k);
					if (ro.contains(x[0], x[1]))
						return "" + k;
				}
				return "-1";
			}
			break;
		default:
			out(ScriptEvent.FAILED, "argument error: " + clause);
			return null;
		}
		return null;
	}