[vtkusers] Inclusiveness of Rasterization

David Gobbi david.gobbi at gmail.com
Wed Jul 2 15:50:25 EDT 2014


Hi Bryan,

Do you mean inclusive on both ends?  Exclusive on both ends would
just make it worse...

The behavior of the rasterization is 100% intentional.  In order for
rasterization to work when there are adjacent areas that are being
rasterized, it must be exclusive on one end and inclusive on the
other end.  Otherwise, adjacent areas could end up with either a
gap between them or with an overlap.

The exclusitivity can be compensated for by subtracting a small
tolerance at the lower end or by using other tricks.

What is your use case?

  - David


On Wed, Jul 2, 2014 at 1:18 PM, Bryan Cool <bryan at radialogica.com> wrote:

> Hi everyone,
>
> I noticed that vtkImageStencilRaster has code like the following in
> InsertLine and FillStencilData, for both the x and y directions:
>
> if (x1 >= xmin)
>      {
>      r1 = vtkMath::Floor(x1) + 1;
>      }
> if (x2 < xmax)
>      {
>      r2 = vtkMath::Floor(x2);
>      }
>
> Correct me if I'm wrong, but it looks like the lower side is exclusive,
> while the upper end is inclusive.  The upshot of this is that the only way
> to stencil the first pixel is to have a line intersect the row on the
> negative side of the first pixel (in the extents).  On the other hand, to
> stencil the last pixel a line only need intersect anywhere past the
> second-to-last pixel (in the extents).
>
> Assuming that's true, it seems a bit asymmetric.  Is there any way to have
> exclusive behavior on both ends?
>
> Thanks,
> Bryan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20140702/4b17dc91/attachment.html>


More information about the vtkusers mailing list