[vtkusers] Actors in front of camera clipped despite ResetCameraClippingRange()
elvis.stansvik at orexplore.com
Tue Jun 21 07:37:00 EDT 2016
2016-06-21 13:35 GMT+02:00 Elvis Stansvik <elvis.stansvik at orexplore.com>:
> 2016-06-21 13:20 GMT+02:00 Elvis Stansvik <elvis.stansvik at orexplore.com>:
>> I'm attaching the full code for brevity, but the relevant parts are how
>> I'm treating the camera in my CylindricalInteractionStyle class and the if
>> __name__ == '__main__' block.
> To clarify: To see the problem, run the program and use Shift+mouse drag
> to move the camera up or down. If you go far enough the cones start to get
> clipped at the near plane.
Sorry: You may have to zoom out a bit with Ctrl+mouse drag to see the
problem (controls the parallel projection scale).
>> 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)
>>> 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.SetCenter(0, i, 0)
>>> coneMapper = vtkPolyDataMapper()
>>> coneActor = vtkActor()
>>> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vtkusers