What we know:
- We are using
Code: Select all
vehicle.Body.WorldTransform = matrix.CreateFromQuaternion(quaternion.Identity) * matrix.CreateTranslation(new vector3(0, 20, 5000));
- The exception is thrown within
- The exception gives the following stack trace:BEPUutilities.RigidTransform.GetBoundingBox(ref RigidTransform shapeTransform, out BoundingBox boundingBox) {}
Interesting things to note:at System.Math.Sign(Single value)
at BEPUphysics.CollisionShapes.ConvexShapes.BoxShape.GetBoundingBox(RigidTransform& shapeTransform, BoundingBox& boundingBox)
at BEPUphysics.BroadPhaseEntries.MobileCollidables.ConvexCollidable`1.UpdateBoundingBoxInternal(Single dt)
at BEPUphysics.BroadPhaseEntries.MobileCollidables.EntityCollidable.UpdateBoundingBox(Single dt)
at BEPUphysics.OtherSpaceStages.BoundingBoxUpdater.LoopBody(Int32 i)
at BEPUphysics.Threading.ParallelLoopWorker.Work()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
- Using the above method above (vehicle.Body.WorldTransform = ... ) the exception is NOT thrown when a value below 500 is used.
- Using the above method above (vehicle.Body.WorldTransform = ... ) the exception is thrown when a value above 500 is used.
- The exception is thrown only when there is ONE instance of this vehicle object (a compound body) exists in the space and we set its the position.
- The exception still occurs when threading is NOT used
- The position appears to be set before the exception occurs
- We are using the compiled dlls in this project
We have come accross one other thread that discussed the problem being external to the library - but we have yet to find the source.