Custom Collision Solid

I am writing a Panda game in Python. I have a situation which would be nicely solved by a new shape of Collision Solid, namely an Inverted Cylinder of infinite length. I am going to have a go at adding this functionality to the base C++ code (just as an ‘into’ solid) but in the meantime if anyone has already done so would they share it please?