// clip the convex hull 'in' to planeList to generate a clipped convex hull 'out' // return true if points remain after clipping. unsigned int clip(const Polytope::PlaneList& planeList,const VertexList& vin,PointList& out) { PointList in; copyVertexListToPointList(vin,in); unsigned int planeMask = 0x1; for(Polytope::PlaneList::const_iterator itr=planeList.begin(); itr!=planeList.end(); ++itr) { if (!clip(*itr,in,out,planeMask)) return false; in.swap(out); planeMask <<= 1; } in.swap(out); return out.size(); }