pub trait Terrain {
// Required methods
fn visit(&self, bounds: QueryBounds, visitor: &mut dyn FnMut(Obstacle));
fn obstacle(&self, id: u64) -> Option<Obstacle>;
}Expand description
The visitor receives current poses. Implementations may use their broadphase; they must visit every obstacle intersecting bounds, in deterministic order. Character queries allocate no scratch buffers. Sensors/layers are filtered by the motor.