Add a point selection to the fillet curve node so that it can be used as an IndexMask to skip filleting unselected points.
This addresses T100031.
Differential D16009
Geometry node: Add a point selection input to Fillet Curve Node Authored by Shan Huang (yemount) on Sep 19 2022, 1:34 AM. Tags Tokens
Details
Add a point selection to the fillet curve node so that it can be used as an IndexMask to skip filleting unselected points. This addresses T100031.
Diff Detail
Event Timeline
Comment Actions Sorry for the long delay. Thanks for looking into this!
Comment Actions
Sounds good! I've removed the curve selection param. Seems simpler overall. PTAL.
Comment Actions Thanks for the update! Apart from calculate_overlapping_ranges being a bit hard to follow, this seems like a good solution. I found a crash in the "Bezier" mode that came with this message: Code marked as unreachable has been executed. Please report this as a bug. Error found at source/blender/nodes/NOD_geometry_exec.hh:268 in get_input_index. Can you reproduce that?
Comment Actions Addressed comments. PTAL :)
Yeah I got repro. Interesting, it seems to relate to the input socket definition ordering in node_geo_curve_fillet.cc. Moving "Selection" to right after "Curve" caused the crash, and moving "Selection" back fixed it. The line throwing the assert error was in GeoNodeExecParams::check_input_access: else if (found_socket->flag & SOCK_UNAVAIL) {
std::cout << "The socket corresponding to the identifier '" << identifier
<< "' is disabled.\n";
BLI_assert_unreachable();
}Any idea why the ordering matters?
Comment Actions Friendly ping here. I'd love to get this merged some time if it looks alright. All comments should have been addressed but let me know if anything needs updating. Thanks! Comment Actions Thank you for your work, I hope my comments will weak help to go to the day when it will be ready. Not very specific to the implementation (using functions like extract_ranges_invert seems suspicious to me) so I think for now just add comments on the form. And also, I think it will be useful to study this experience ralated OffsetIndices, like this : rB7fc395354cd1: Cleanup: Use offset indices arguments for curves utilities
Comment Actions I haven't done performance tests. I start from simplicity and conciseness.
Given the existence of the implementation (this patch), it would be good either to see it with the merging with master (to test it) or just to find out the results of the check with my variant.
Comment Actions The remaining thing I described badly in my last inline comment was ordering the selection input right after the geometry socket like other nodes. Then the retrieval of the specific socket in node_update needs to be updated.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||