<div dir="ltr">Hi Xabi,<div><br></div><div>I think it's a good fix, note that the Pitch() method probably has the same issue.</div><div><br></div><div>It will break backwards compatibility, however, because currently the Elevation()</div><div>method leaves the ViewUp unchanged.  So any code that calls Elevation() and</div><div>then calls Azimuth() will give a different result after your fix.</div><div><br></div><div>Does anyone know why the Elevation() and Pitch() methods leave the ViewUp</div><div>unchanged?</div><div><br></div><div> - David</div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 4, 2016 at 6:54 AM, Xabi Riobe <span dir="ltr"><<a href="mailto:xabivtk@gmail.com" target="_blank">xabivtk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>There is an issue in vtkCamera::Elevation if the angle is 90.</div><div><br></div><div>It is 100% reproductible with VS2013 if compiled in 64bits, otherwise the rounding epsilon makes it work by chance.</div><div><br></div><div>I'm willing to fix it in GitLab but first i would like your opinion about the best way to do it.</div><div><br></div><div>with a simple example of a plane in a renderer, and a call to renderer->GetActiveCamera()->Elevation(90)</div><div><br></div><div>What happens in the call stack of vtkCamera::Elevation :</div><div>   vtkCamera::SetPosition()<br></div><div>   vtkCamera::ComputeViewTransform</div><div>   vtkPerspectiveTransform::SetupCamera</div><div><br></div><div>   vtkMath::Cross(viewUp,viewPlaneNormal,viewSideways);</div><div><br></div><div>where viewUp and viewPlaneNormal are both (0,1,0)  so viewSideways is (0,0,0) leading to bad camera parameters.</div><div>Here comes the VS13+64bits configuration case, when with others, viewSideways is luckily different than 0</div><div><br></div><div>What do you think of applying the rotation to the viewUp vector in vtkCamera::Elevation before the call to SetPosition?</div><div>Should we put a warning in vtkPerspectiveTransform::SetupCamera when vtkMath::Normalize returns 0?</div><div><br></div></div></blockquote></div></div></div></div>