I'm new to bullet and making a 3d game where you control a rolling ball on a heightmap terrain. I have the collisions all working with a btHeightfieldTerrainShape. The ball (a btSphereShape) rolls and bounces nicely around the terrain.
I have a 'camera' that is placed just above the ball and can be moved to face any direction with the mouse.
Now I want to apply a torque that causes the ball to move in the direction the camera is facing eg. (1, 1, 0).
By this I mean I take the x and z part of the camera's direction vector (from the player's perspective this is the direction they are 'facing' without the up/down part) which would be (1, 0, 0)
I then want to create a vector that lies horizontally, perpendicular to the y axis and the 'xz' vector I mentioned above:
A clockwise rotation makes it (0, 0, -1). Relative to the view on the screen this vector would lie horizontally left to right across the screen.
Now the bit I can't do.

Can I apply a torque to the sphere clockwise around the vector I've calculated (0, 0, -1) through centre of the sphere? Is this possible and what is the best way to do it with bullet?
I hope that made sense, it's sort of like the torque applied to a car wheel if you are facing in the direction the wheel is rolling.
Thanks for your help
