diff options
author | Charlie Jolly <charlie> | 2022-01-20 21:06:25 +0300 |
---|---|---|
committer | Charlie Jolly <mistajolly@gmail.com> | 2022-01-20 22:04:09 +0300 |
commit | cc1a48e39514a38eceb3ab353e6916ad4d7621d4 (patch) | |
tree | 5f1282131169fdc5b816700e1cce29f21f51c227 /source/blender/makesdna | |
parent | 6baccc36a02ec602b954bb4d2a1646725b40e0bf (diff) |
Geometry Nodes: Curve Primitive Arc
This adds a new curve primitive to generate arcs.
Radius mode (default): Generates a fixed radius arc on XY plane
with controls for Angle, Sweep and Invert.
Points mode: Generates a three point curve arc from Start to End
via Middle with an Angle Offset and option to invert the arc.
There are also outputs for arc center, radius and normal direction
relative to the Z-axis.
This patch is based on previous patches
D11713 and D13100 from @guitargeek. Thank you.
Reviewed By: HooglyBoogly
Differential Revision: https://developer.blender.org/D13640
Diffstat (limited to 'source/blender/makesdna')
-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 114e350b582..a23e45f8b74 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -1503,6 +1503,11 @@ typedef struct NodeGeometryCurveSelectHandles { uint8_t mode; } NodeGeometryCurveSelectHandles; +typedef struct NodeGeometryCurvePrimitiveArc { + /* GeometryNodeCurvePrimitiveArcMode. */ + uint8_t mode; +} NodeGeometryCurvePrimitiveArc; + typedef struct NodeGeometryCurvePrimitiveLine { /* GeometryNodeCurvePrimitiveLineMode. */ uint8_t mode; @@ -2237,6 +2242,11 @@ typedef enum GeometryNodeMeshLineCountMode { GEO_NODE_MESH_LINE_COUNT_RESOLUTION = 1, } GeometryNodeMeshLineCountMode; +typedef enum GeometryNodeCurvePrimitiveArcMode { + GEO_NODE_CURVE_PRIMITIVE_ARC_TYPE_POINTS = 0, + GEO_NODE_CURVE_PRIMITIVE_ARC_TYPE_RADIUS = 1, +} GeometryNodeCurvePrimitiveArcMode; + typedef enum GeometryNodeCurvePrimitiveLineMode { GEO_NODE_CURVE_PRIMITIVE_LINE_MODE_POINTS = 0, GEO_NODE_CURVE_PRIMITIVE_LINE_MODE_DIRECTION = 1 |