diff --git a/src/sim.hpp b/src/sim.hpp index 971b2b01..b02aa7a5 100755 --- a/src/sim.hpp +++ b/src/sim.hpp @@ -73,8 +73,24 @@ struct Sim : public madrona::WorldBase { madrona::InlineArray, 64> collisionPairs; collisionPairs.push_back({EntityType::Pedestrian, EntityType::Pedestrian}); collisionPairs.push_back({EntityType::Pedestrian, EntityType::RoadEdge}); + collisionPairs.push_back({EntityType::Pedestrian, EntityType::Cyclist}); + collisionPairs.push_back({EntityType::Pedestrian, EntityType::RoadLine}); + collisionPairs.push_back({EntityType::Pedestrian, EntityType::RoadLane}); + collisionPairs.push_back({EntityType::Pedestrian, EntityType::CrossWalk}); + collisionPairs.push_back({EntityType::Pedestrian, EntityType::SpeedBump}); + collisionPairs.push_back({EntityType::Pedestrian, EntityType::StopSign}); collisionPairs.push_back({EntityType::Cyclist, EntityType::Pedestrian}); collisionPairs.push_back({EntityType::Cyclist, EntityType::RoadEdge}); + collisionPairs.push_back({EntityType::Cyclist, EntityType::Cyclist}); + collisionPairs.push_back({EntityType::Cyclist, EntityType::RoadLine}); + collisionPairs.push_back({EntityType::Cyclist, EntityType::RoadLane}); + collisionPairs.push_back({EntityType::Cyclist, EntityType::CrossWalk}); + collisionPairs.push_back({EntityType::Cyclist, EntityType::SpeedBump}); + collisionPairs.push_back({EntityType::Cyclist, EntityType::StopSign}); + collisionPairs.push_back({EntityType::Vehicle, EntityType::CrossWalk}); + collisionPairs.push_back({EntityType::Vehicle, EntityType::SpeedBump}); + collisionPairs.push_back({EntityType::Vehicle, EntityType::RoadLine}); + collisionPairs.push_back({EntityType::Vehicle, EntityType::RoadLane}); // TODO: Break Cube into road types for better control over collisions return collisionPairs; }