public void RayCast() {
		m_rayActor = null;

		RayCastInput input = new RayCastInput();
		input.set(m_rayCastInput);

		// Ray cast against the dynamic tree.
		m_tree.raycast(this, input);

		// Brute force ray cast.
		Actor bruteActor = null;
		RayCastOutput bruteOutput = new RayCastOutput();
		for (int i = 0; i < e_actorCount; ++i) {
			if (m_actors[i].proxyId == -1) {
				continue;
			}

			RayCastOutput output = new RayCastOutput();
			boolean hit = m_actors[i].aabb.raycast(output, input,
					getWorld().getPool());
			if (hit) {
				bruteActor = m_actors[i];
				bruteOutput = output;
				input.maxFraction = output.fraction;
			}
		}

		if (bruteActor != null) {
		  if(MathUtils.abs(bruteOutput.fraction
                    - m_rayCastOutput.fraction) > Settings.EPSILON) {
		    System.out.println("wrong!");
		    assert (MathUtils.abs(bruteOutput.fraction
              - m_rayCastOutput.fraction) <= 20 * Settings.EPSILON);
		  }
			
		}
	}