Spline Collision/Intersection/Overlap

I’m making a rail shooter game that uses splines as paths for the player to follow. I’m trying to place them procedurally (using C++). One tough thing I’ve run into is splines clipping through each other and static elements of the world. Is there a good built-in way to test if splines are intersecting with things and where, or is this something where I’d have to roll my own solution? I found this, but it seems like a lot of effort for a relatively small feature, and doesn’t work well for things that can’t be approximated with implicit functions.

You can definitely implement something to check if the spline is intersecting another object, but it’s going to be SUPER expensive to do at runtime. Thought it may seem like it, certainly not a small feature.