void CollisionGroup::removeShapeFramesOf( const dynamics::ShapeFrame* shapeFrame, const Others*... others) { removeShapeFrame(shapeFrame); removeShapeFramesOf(others...); }
void CollisionGroup::removeShapeFramesOf( const dynamics::BodyNode* bodyNode, const Others*... others) { assert(bodyNode); auto collisionShapeNodes = bodyNode->getShapeNodesWith<dynamics::CollisionAspect>(); for (auto& shapeNode : collisionShapeNodes) removeShapeFrame(shapeNode); removeShapeFramesOf(others...); }
void CollisionGroup::removeShapeFramesOf( const CollisionGroup* otherGroup, const Others*... others) { assert(otherGroup); if (otherGroup) { if (this == otherGroup) { removeAllShapeFrames(); return; } for (const auto& pair : otherGroup->mShapeFrameMap) removeShapeFrame(pair.first); } removeShapeFramesOf(others...); }
//============================================================================== void CollisionGroup::removeShapeFrames( const std::vector<const dynamics::ShapeFrame*>& shapeFrames) { for (const auto& shapeFrame : shapeFrames) removeShapeFrame(shapeFrame); }