I attach a scene to explain at best what happens.
I made a very simple wrangle in order to save an attribute in a curve to say if it is open or closed using the vex expression: primintrinsic(geoself(), “closed”, @primnum);
I was quite happy with it but then I started to encounter problems especially after the use of Ends node to “Unroll U” in order to remove curves surfaces.
I prapared this simple scene where you have 6 different curves. A circle, an open curve, the same curve with the close option activated, the same closed surface after the Ends node, and finally two different version of the unrolled one, on one I tried to apply a Join Node, on the other one a Fuse node.
The shapes are red if the “closed” attribute is computed as 0 and green if it is computed as 1.
My questions:
- Why unrolling the U a closed curves becomes open (At least listening to my vex formula)?
- If I use the Join node and I activate “Wrap Last and First” the unrolled curve becomes closed but the surface is back, if I don't use the “Wrap Last and First” option the curve appears closed but results open after the vex check. Any ide awhat's happening?
- The Fuse Node behavior is also strange. If I deactivate it the last and first points of the curve are separated and on top of each other, if I activate it the last and first points get correctly welded into one unique number BUT the curve still results open (last one in red). Why is that? the curve is numerically close but still open.
My main concern is: am I confusing between vertices and points, primitives and curves and all this mess is because of this?
Any enlightenment or input of any kind is highly appreciated, I've lost so many hours already in trying to understand and debug this issue.
I guess my mistake is to check the Closed Primitive Intrinsic which is not related to the curve being closed or not. If so how should I do to know if a curve is closed or not?
Thanks
Image Not Found