[vtkusers] Actors in front of camera clipped despite ResetCameraClippingRange()

Elvis Stansvik elvis.stansvik at orexplore.com
Tue Jun 21 07:27:22 EDT 2016


I just found this very old bug:

    http://www.vtk.org/Bug/view.php?id=7823

I forgot to mention that I'm using parallell projection for the camera.
Could this be the issue I'm seeing? It seems the suggested patch there was
never incorporated due to test failures (?). Anyone know of some way of
working around this?

Elvis

2016-06-21 13:06 GMT+02:00 Elvis Stansvik <elvis.stansvik at orexplore.com>:

> Hi all,
>
> I have a setup where the camera always moves on a cylinder of radius 3.0
> around my subject (just testing with a stack of cones at the moment). The
> focal point is always positioned along the Y axis, and the camera may be
> moved up and down independent of the focus point, but the camera is always
> at a distance of 3 from the Y axis.
>
> As soon as the user moves the camera, I reset the camera clipping range
> with ResetCameraClippingRange(). Despite this, when the camera and the
> focal point are far away from eachother, the actors (my stack of cones) get
> clipped by the near plane for some reason.
>
> See the attached screenshot which shows the clipping.
>
> What I'm doing to my camera (in response to Shift+mouse drag in my custom
> interactor) to end up in this situation is just:
>
>         camera = renderer.GetActiveCamera()
>         (x, y, z) = camera.GetPosition()
>         camera.SetPosition(x, y - self.PanningFactor * dy, z)
>         renderer.ResetCameraClippingRange()
>
> and I've verified that the camera is always at a distance of 3.0 from the
> Y axis.
>
> The cones I'm using in this test were created with:
>
>     for i in range(-10, 20):
>         coneSource = vtkConeSource()
>         coneSource.SetDirection(0, 1, 0)
>         coneSource.SetResolution(8)
>         coneSource.SetCenter(0, i, 0)
>
>         coneMapper = vtkPolyDataMapper()
>         coneMapper.SetInputConnection(coneSource.GetOutputPort())
>
>         coneActor = vtkActor()
>         coneActor.SetMapper(coneMapper)
>
>         widget.renderer.AddActor(coneActor)
>
> I don't understand why I see clipping occur here, since I'm using
> ResetCameraClippingRange, and nothing is behind the camera. The radius of
> these cones is the default (0.5).
>
> It's probably something stupid, but any advice is much appreciated.
>
> Elvis
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160621/516b6453/attachment.html>


More information about the vtkusers mailing list