New node: 'Extrude' (#3414)

* Add extrude node

* Code review

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
James Lindsay
2025-11-27 02:50:10 +00:00
committed by GitHub
parent 5ebf6d6bc0
commit 8383a3afac
6 changed files with 230 additions and 8 deletions

View File

@@ -83,6 +83,16 @@ pub enum MergeByDistanceAlgorithm {
Topological,
}
#[repr(C)]
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize, Hash, DynAny, specta::Type, node_macro::ChoiceType)]
#[widget(Radio)]
pub enum ExtrudeJoiningAlgorithm {
All,
#[default]
Extrema,
None,
}
#[repr(C)]
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize, Hash, DynAny, specta::Type, node_macro::ChoiceType)]
#[widget(Radio)]

View File

@@ -300,6 +300,10 @@ impl SegmentDomain {
self.end_point[segment_index] = new;
}
pub fn set_handles(&mut self, segment_index: usize, new: BezierHandles) {
self.handles[segment_index] = new;
}
pub fn handles(&self) -> &[BezierHandles] {
&self.handles
}