Multi selection

I would like make multi selection in scene.
Square (box) multiselection is easy - use gluPickMatrix and use all names in selct bufer.
But, I would like make multiselection defined by any polygon (triangle, circle, pentagon etc. ).
I looking for all elements crosing the polygon.
Drawing objects are Lines, circles, surfaces etc.
Is it possible by Opengl, or I have to compute mathematical intersect all elements with the polygon ???
Where is good way ???

I believe that it is not possible with gl/glu/glut. You prolly have to do it by hand.