Browse Source

Added warning for infinite PhysicsWorld raycast.

Lasse Öörni 10 years ago
parent
commit
adc04560ce
1 changed files with 9 additions and 0 deletions
  1. 9 0
      Source/Urho3D/Physics/PhysicsWorld.cpp

+ 9 - 0
Source/Urho3D/Physics/PhysicsWorld.cpp

@@ -343,6 +343,9 @@ void PhysicsWorld::Raycast(PODVector<PhysicsRaycastResult>& result, const Ray& r
 {
 {
     PROFILE(PhysicsRaycast);
     PROFILE(PhysicsRaycast);
 
 
+    if (maxDistance >= M_INFINITY)
+        LOGWARNING("Infinite maxDistance in physics raycast is not supported");
+
     btCollisionWorld::AllHitsRayResultCallback
     btCollisionWorld::AllHitsRayResultCallback
         rayCallback(ToBtVector3(ray.origin_), ToBtVector3(ray.origin_ + maxDistance * ray.direction_));
         rayCallback(ToBtVector3(ray.origin_), ToBtVector3(ray.origin_ + maxDistance * ray.direction_));
     rayCallback.m_collisionFilterGroup = (short)0xffff;
     rayCallback.m_collisionFilterGroup = (short)0xffff;
@@ -367,6 +370,9 @@ void PhysicsWorld::RaycastSingle(PhysicsRaycastResult& result, const Ray& ray, f
 {
 {
     PROFILE(PhysicsRaycastSingle);
     PROFILE(PhysicsRaycastSingle);
 
 
+    if (maxDistance >= M_INFINITY)
+        LOGWARNING("Infinite maxDistance in physics raycast is not supported");
+
     btCollisionWorld::ClosestRayResultCallback
     btCollisionWorld::ClosestRayResultCallback
         rayCallback(ToBtVector3(ray.origin_), ToBtVector3(ray.origin_ + maxDistance * ray.direction_));
         rayCallback(ToBtVector3(ray.origin_), ToBtVector3(ray.origin_ + maxDistance * ray.direction_));
     rayCallback.m_collisionFilterGroup = (short)0xffff;
     rayCallback.m_collisionFilterGroup = (short)0xffff;
@@ -394,6 +400,9 @@ void PhysicsWorld::SphereCast(PhysicsRaycastResult& result, const Ray& ray, floa
 {
 {
     PROFILE(PhysicsSphereCast);
     PROFILE(PhysicsSphereCast);
 
 
+    if (maxDistance >= M_INFINITY)
+        LOGWARNING("Infinite maxDistance in physics sphere cast is not supported");
+
     btSphereShape shape(radius);
     btSphereShape shape(radius);
 
 
     btCollisionWorld::ClosestConvexResultCallback
     btCollisionWorld::ClosestConvexResultCallback