BrushSplitType Brush_classifyPlane(const Brush& brush, const Plane3& plane) { brush.evaluateBRep(); BrushSplitType split; for (Brush::const_iterator i(brush.begin()); i != brush.end(); ++i) { if ((*i)->contributes()) { split += (*i)->getWinding().classifyPlane(plane); } } return split; }
void MapExporter::recalculateBrushWindings() { _root->foreachNode([] (const scene::INodePtr& child)->bool { Brush* brush = Node_getBrush(child); if (brush != NULL) { brush->evaluateBRep(); } return true; }); }