I am not even sure if what I am trying to do is practical or is even possible.
This example below is a simplified version of a more complex setup where multiple shapes are connected together on the XY plane where their faces are facing Z-axis - so basically a bunch of 2D flat meshes.
The idea of this approach below was in hope, that I wouldn’t have to destroy/update/rotate any of the existing shape or their points. By rotating only the camera, I could visually trick the user that the shapes were being rotated, when really rotation occurs on the camera.
Although it works, my problem is that the camera is bind to the OrbitalControls. So even after I rotate the camera manually by code (say 90 degrees) as soon as the user tries to zoom, pan, etc on the scene, the orbital controls seems to revert the camera rotation back. I still want the orbitalControls to function and pick up with the new camera rotation. (this is where it may be impossible or impractical approach)
I tried following with orbitalControl.update() after applying rotation directly to the camera but that doesn’t seem to work either.
Here’s the simplified example in jsFiddle:
https://jsfiddle.net/blackstrings/cn8xpLh9/
to simulate what I mean > click run > click the rotateCamera90 2-3 times > then zoom or pan around in the scene. I don’t want the camera rotation to get reset and should pick right up where rotation is at.