std::map<rectangle, ray> temp;
for (auto it = colliding_items.begin(); it != colliding_items.end(); ++it)
{
for (auto noc = non_colliding_items.begin(); noc != non_colliding_items.end(); ++noc)
{
if ( it->second == noc->second )
{
//ray already collided with a rectangle, remove from noc
temp[noc->first] = noc->second;
}
}
}
c3RkOjptYXA8cmVjdGFuZ2xlLCByYXk+IHRlbXA7Cglmb3IgKGF1dG8gaXQgPSBjb2xsaWRpbmdfaXRlbXMuYmVnaW4oKTsgaXQgIT0gY29sbGlkaW5nX2l0ZW1zLmVuZCgpOyArK2l0KQoJewoJCWZvciAoYXV0byBub2MgPSBub25fY29sbGlkaW5nX2l0ZW1zLmJlZ2luKCk7IG5vYyAhPSBub25fY29sbGlkaW5nX2l0ZW1zLmVuZCgpOyArK25vYykKCQl7CgkJCWlmICggaXQtPnNlY29uZCA9PSBub2MtPnNlY29uZCApCgkJCXsKCQkJCS8vcmF5IGFscmVhZHkgY29sbGlkZWQgd2l0aCBhIHJlY3RhbmdsZSwgcmVtb3ZlIGZyb20gbm9jCgkJCQl0ZW1wW25vYy0+Zmlyc3RdID0gbm9jLT5zZWNvbmQ7CgkJCX0KCQl9Cgl9