In the process of upgrading to the head of the Panda3D repository, we’ve run into a warning that wasn’t showing up in the binary of Panda3D 1.2.3:
:mathutil(warning): BoundingPlane::contains_line() called
We get this once a frame. I’m attempting to squash it, but I’m having difficulty determining what could be causing it. We have multiple collision interactions in the program; I’m certain that one of those is causing this issue. But what I can’t figure out is why this message is fired. Checking the source code, I see that BoundingPlane indeed has no overriding implementation of contains_line; however, line-plane intersection still appears to work correctly. How is this the case if there is no implementation for BoundingPlane::contains_line?
Since there’s no bounding volume test defined, it just falls back to always performing the collision test, which will work in every case anyway. (And since, in this case, the collision test is almost the same as the bounding-volume test, it doesn’t impact performance too much.)
The difference between this version and 1.3.2 is that the warning itself is newly added. There was never a plane-line bounding volume test. That’s actually a bit of an oversight. I’ll fix the oversight, but in the meantime, you could simply put:
notify-level-mathutil error
in your Config.prc to squelch the warning message.
We were able to isolate it to ray-plane collision, which makes sense given the explanation. We’ll catch the update as soon as its ready. As always, we’re very appreciative of your responsiveness on these issues!