<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><br></div><div><br></div></div>