diff options
author | dilithjay <dilithjay@gmail.com> | 2021-09-22 17:41:12 +0300 |
---|---|---|
committer | dilithjay <dilithjay@gmail.com> | 2021-09-22 17:41:12 +0300 |
commit | 0d350e0193f1af82274ba78f5f93702c14646a86 (patch) | |
tree | 677b861ca8dd2fb7a34deb58644c6acff2756c07 /source/blender/makesdna/DNA_node_types.h | |
parent | 204b01a254ac2445fea217e5211b2ed6aef631ca (diff) |
Geometry Nodes: Curve Fillet Node
This node can be used to fillet splines at control points to
create a circular arc.
The implementation roughly follows T89227's design.
The node works in two main modes: Bezier and Poly
* Bezier: Creates a circular arc at vertices by changing
handle lengths (applicable only for Bezier splines).
* Poly: Creates a circular arc by creating vertices (as
many as defined by the Count fields input) along
the arc (applicable for all spline types).
In both modes, the radius of the created arc is defined
by the Radius fields input.
The Limit Radius attribute can be enabled to prevent
overlapping when the defined radius exceeds the maximum
possible radius for a given point.
Reviewed By: Hans Goudey
Differential Revision: https://developer.blender.org/D12115
Diffstat (limited to 'source/blender/makesdna/DNA_node_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_node_types.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index cf159a1e28d..18545666796 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -1447,6 +1447,11 @@ typedef struct NodeGeometryCurveSubdivide { uint8_t cuts_type; } NodeGeometryCurveSubdivide; +typedef struct NodeGeometryCurveFillet { + /* GeometryNodeCurveFilletMode. */ + uint8_t mode; +} NodeGeometryCurveFillet; + typedef struct NodeGeometryCurveTrim { /* GeometryNodeCurveSampleMode. */ uint8_t mode; @@ -2060,6 +2065,11 @@ typedef enum GeometryNodeCurveSampleMode { GEO_NODE_CURVE_SAMPLE_LENGTH = 1, } GeometryNodeCurveSampleMode; +typedef enum GeometryNodeCurveFilletMode { + GEO_NODE_CURVE_FILLET_BEZIER = 0, + GEO_NODE_CURVE_FILLET_POLY = 1, +} GeometryNodeCurveFilletMode; + typedef enum GeometryNodeAttributeTransferMapMode { GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST_FACE_INTERPOLATED = 0, GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST = 1, |