<div dir="ltr"><div dir="ltr">On Wed, 22 Apr 2020 at 11:10, OpenSceneGraph Users <<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">Worth pointing out that if you don’t want any camera manipulator, you can just call setCameraManipulator(NULL) on each of the Viewer’s views:<div><br></div><div><span style="white-space:pre-wrap">      </span><span style="font-family:Menlo;background-color:rgb(255,255,255);color:rgb(28,70,74)">Views</span><span style="color:rgba(0,0,0,0.85);font-family:Menlo;background-color:rgb(255,255,255)"> views;</span><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;color:rgba(0,0,0,0.85);background-color:rgb(255,255,255)">    pViewer-><span style="color:rgb(50,109,116)">getViews</span>(views);</div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;color:rgba(0,0,0,0.85);background-color:rgb(255,255,255);min-height:14px">    <span style="color:rgb(155,35,147)"><b>for </b></span>(<span style="color:rgb(28,70,74)">Views</span>::<span style="color:rgb(57,0,160)">iterator</span> it = views.<span style="color:rgb(108,54,169)">begin</span>(); it != views.<span style="color:rgb(108,54,169)">end</span>(); it++) {</div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;color:rgba(0,0,0,0.85);background-color:rgb(255,255,255)">        (*it)-><span style="color:rgb(50,109,116)">setCameraManipulator</span>(NULL);</div><div style="margin:0px;font-stretch:normal;line-height:normal;font-family:Menlo;color:rgba(0,0,0,0.85);background-color:rgb(255,255,255)">    }</div></div></div></blockquote><div><br></div><div>The default TrackballManipulator is only added by the Viewer::run() method when there are no other means for setting the view matrix, so if you don't use the Viewer::run() convenience method and instead roll hour own frame loop then you won't get the fallback TrackballManipulator being added.</div><div><br></div><div>To replace the viewer::run() usage all you have to do is:</div><div><br></div><div>  viewer.realize();</div><div>  while (!viewer.done())</div><div>  {</div><div>       viewer.frame();<br></div><div>  }<br></div><div><br></div><div>You can also break the viewer.frame() down into it's constituent parts.  Have a look at the Viewer::run(), frame() methods to demystify what's happen in these convenience methods.</div><div><br></div><div>Cheers,<br></div><div>Robert<br></div><div><br></div><div><br></div><div> </div><div><br></div><div> </div></div></div>