map<DrawingComponent *, vector<Touch *>> RenderingEngine::SortTouchesByDrawingComponent(vector<Touch *> &rTouches) const { map<DrawingComponent *, vector<Touch *>> sortedTouches; for (int touchIndex = 0; touchIndex < rTouches.size(); touchIndex++) { Touch *touch = rTouches[touchIndex]; DrawingComponent *pDrawing = touch->GetDrawingComponent(); vector<Touch *> &rDrawingTouches = sortedTouches[pDrawing]; rDrawingTouches.push_back(touch); } return sortedTouches; }