+ init();
+}
+
+template<typename T, unsigned D, typename O>
+inline void CompositeShape<T, D, O>::init()
+{
+ max_isect = 0;
+ min_scratch = 0;
+ for(typename ShapeArray::const_iterator i=shapes.begin(); i!=shapes.end(); ++i)
+ {
+ unsigned mi = (*i)->get_max_ray_intersections();
+ max_isect += mi;
+ min_scratch = std::max(min_scratch, mi);
+ }