#ifndef INTERSECT_H
#define INTERSECT_H

struct Stats {
  int *num_intersect_calls;
  int *num_intersect_successes;
  int *num_bbox_successes;
  int *num_intersections_overruled;
  int *num_axis_checks;
  int *num_axis_check_successes;
  int *num_axis_check_had_to_fail;
};

#define BBOX_CHECK 1
#define CHECK_1_AXIS (1 << 1)
#define CHECK_3_AXIS (1 << 2)

void IntersectObjList (CycleState &CS, int x, int y, const Ray &ray, MPObjList *objlist, Hit &hit, PlaneCache *pc, int options, int drawing_flags, Stats &stats);


#endif
