/*! SLGroup::shapeInit loops over all child nodes and calls their init method with an incremented depth. While looping it must be checked that all child nodes have a depth equal the groups depth + 1. */ void SLGroup::shapeInit(SLSceneView* sv) { SLNode* current = _first; while (current) { if (current->depth() && current->depth() != depth()+1) { SL_EXIT_MSG("Scenegraph is not directed acyclic. There is a loop."); } current->init(sv, depth()+1); // Set transparent flags of the group if (!_aabb.hasAlpha() && ((SLShape*)current)->aabb()->hasAlpha()) _aabb.hasAlpha(true); current = current->next(); } }