This is very handy indeed, and I think I will implent my camera that way. But it still doesn't satisfie all my needs. Another problem I have is the following :
I use ODE for physics. Ode returns me a rotation matrix, and doesn't provide a function to get the seperate rotation matrices for x, y and z. So I wont be able to do something like your camera class for the objects that use ode.
Or do you thing I'm approaching the problem the wrong way too? What I do now is : Store a rotation matrix for each object. I can do a few simple operations on it, like setting the rotation to (angx, angy, angz). Or I can rotate the matrix by multiplying with another matrix. But for the operations I asked (like setting only the y-axis to a specific value), I'm still stuck.
Or am I doing it the wrong way from the beginning ?