I noticed that this is missing from ClipperLib2. This was very useful to allow me to carry information through the Boolean. One use case I have is that I use ClipperLib to project rays out from a surface. The returned bundle of truncated rays are un-ordered compared to the inputs. I use the Z value to carry weighting information through the boolean, allowing me to scale their effects based on this weighting, without trouble (because I know that one of the two points in the line will have the Z coordinate intact.
In other cases, I use it to know whether a point on the resulting path is an intersection point so that I can extract the intersection angle, or to screen intersection points from evaluation. It's been extremely useful.
At casual glance, I'm not sure how/where this could be reimplemented in the current code.
As you've noticed, yes this feature isn't currently supported. However, depending on the level of interest, I could be persuaded to reimplement the Z coordinate. (And you present a good case for that 👍.)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
For us at the PrusaSlicer team, the Z coordinate is often used to
differentiate the source of segments / vertices. However I believe it did
not work quite reliably, I only guess that the Z was not processed
correctly by the code removing zero area loops.
As you've noticed, yes this feature isn't currently supported. However,
depending on the level of interest, I could be persuaded to reimplement the
Z coordinate. (And you present a good case for that 👍.)
I noticed that this is missing from ClipperLib2. This was very useful to allow me to carry information through the Boolean. One use case I have is that I use ClipperLib to project rays out from a surface. The returned bundle of truncated rays are un-ordered compared to the inputs. I use the Z value to carry weighting information through the boolean, allowing me to scale their effects based on this weighting, without trouble (because I know that one of the two points in the line will have the Z coordinate intact.
In other cases, I use it to know whether a point on the resulting path is an intersection point so that I can extract the intersection angle, or to screen intersection points from evaluation. It's been extremely useful.
At casual glance, I'm not sure how/where this could be reimplemented in the current code.
As you've noticed, yes this feature isn't currently supported. However, depending on the level of interest, I could be persuaded to reimplement the Z coordinate. (And you present a good case for that 👍.)
For us at the PrusaSlicer team, the Z coordinate is often used to
differentiate the source of segments / vertices. However I believe it did
not work quite reliably, I only guess that the Z was not processed
correctly by the code removing zero area loops.
On Fri, Feb 25, 2022 at 11:21 PM Angus Johnson angusj@users.sourceforge.net
wrote: