mirror of
https://github.com/lubosz/overte.git
synced 2025-04-16 09:46:29 +02:00
Do filtering with copy vector in CollisionPick::filterIntersections
This commit is contained in:
parent
444224a11a
commit
813290aad8
1 changed files with 6 additions and 4 deletions
|
@ -341,16 +341,18 @@ void CollisionPick::filterIntersections(std::vector<ContactTestResult>& intersec
|
|||
return;
|
||||
}
|
||||
|
||||
std::vector<ContactTestResult> filteredIntersections;
|
||||
|
||||
int n = (int)intersections.size();
|
||||
for (int i = 0; i < n; i++) {
|
||||
auto& intersection = intersections[i];
|
||||
const QUuid& id = intersection.foundID;
|
||||
if (ignoreItems.contains(id) || (isWhitelist && !includeItems.contains(id))) {
|
||||
intersections[i] = intersections[--n];
|
||||
intersections.pop_back();
|
||||
--i;
|
||||
if (!ignoreItems.contains(id) && (!isWhitelist || includeItems.contains(id))) {
|
||||
filteredIntersections.push_back(intersection);
|
||||
}
|
||||
}
|
||||
|
||||
intersections = filteredIntersections;
|
||||
}
|
||||
|
||||
PickResultPointer CollisionPick::getEntityIntersection(const CollisionRegion& pick) {
|
||||
|
|
Loading…
Reference in a new issue