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

Elvis Stansvik elvis.stansvik at orexplore.com
Tue Jun 21 11:44:56 EDT 2016

Den 21 juni 2016 4:45 em skrev "Ken Martin" <ken.martin at kitware.com>:
> That image doesn't match what I think you are saying, so maybe you can
help me understand.  You mention the camera is positioned on a cylinder of
radius 3.0 and from your code it looks like the focal point is not changing.
> If that is true then at some point some of the cones will be behind your
camera. For example if your focal point was (0,0,0) and your camera was at
(3,10,0) then you would be looking mostly down the y axis and from your
code you have a cone positioned at (0,20,0) which would be behind you.
> Having said all that your image looks funny anyhow.  With a parallel
projection all the cones should look the exact same aside from clipping but
the first cone really looks off from the rest and the others are all
identical so something is off.
> I did look through that code and it looks reasonable to me (the patch
referenced is not correct BTW, parallel projection still requires proper z
buffer scaling and clipping)  If you could provide a few more images from
different viewpoints, ideally with the resulting camera
> clipping range
> parallel scale
> position
> focal point
> for those images that would help me see what is going on.

Thanks a lot for taking the time Ken. You're right of course about cones
being behind me. I think what I meant was I'm never inside a cone.

I'll try to make a minimal test case when I get home, as I'm on the bus and
only have my phone right now.


> Thanks
> Ken
> On Tue, Jun 21, 2016 at 7:06 AM, Elvis Stansvik <
elvis.stansvik at orexplore.com> wrote:
>> 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
>> _______________________________________________
>> Powered by www.kitware.com
>> Visit other Kitware open-source projects at
>> Please keep messages on-topic and check the VTK FAQ at:
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
> --
> Ken Martin PhD
> Chairman & CFO
> Kitware Inc.
> 28 Corporate Drive
> Clifton Park NY 12065
> 518 371 3971
> This communication, including all attachments, contains confidential and
legally privileged information, and it is intended only for the use of the
addressee.  Access to this email by anyone else is unauthorized. If you are
not the intended recipient, any disclosure, copying, distribution or any
action taken in reliance on it is prohibited and may be unlawful. If you
received this communication in error please notify us immediately and
destroy the original message.  Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160621/d81a67fb/attachment.html>

More information about the vtkusers mailing list