diff options
author | Victor-Louis De Gusseme <victorlouis> | 2021-02-05 17:28:31 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-02-05 17:28:31 +0300 |
commit | 4d39a0f8eb1103aa58611fff7219f4bf3d70f70f (patch) | |
tree | cd36763c81288f8c35e25deb05bf6da4de57b20b /source/blender/makesdna/DNA_node_types.h | |
parent | 7054d03701250b245df9cf60b80c3c5e9aca308f (diff) |
Geometry Nodes: Add Attribute Proximity Node
This node calculates a distance from each point to the closest position
on a target geometry, similar to the vertex weight proximity modifier.
Mapping the output distance to a different range can be done with an
attribute math node after this node.
A drop-down changes whether to calculate distances from points,
edges, or faces. In points mode, the node also calculates distances
from point cloud points.
Design task and use cases: T84842
Differential Revision: https://developer.blender.org/D10154
Diffstat (limited to 'source/blender/makesdna/DNA_node_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_node_types.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index a69af18ded2..edab43c752e 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -1202,6 +1202,13 @@ typedef struct NodeGeometryCollectionInfo { char _pad[7]; } NodeGeometryCollectionInfo; +typedef struct NodeGeometryAttributeProximity { + /* GeometryNodeAttributeProximityTargetGeometryElement. */ + uint8_t target_geometry_element; + + char _pad[7]; +} NodeGeometryAttributeProximity; + /* script node mode */ #define NODE_SCRIPT_INTERNAL 0 #define NODE_SCRIPT_EXTERNAL 1 @@ -1589,6 +1596,12 @@ typedef enum NodeShaderOutputTarget { /* Geometry Nodes */ +typedef enum GeometryNodeAttributeProximityTargetGeometryElement { + GEO_NODE_ATTRIBUTE_PROXIMITY_TARGET_GEOMETRY_ELEMENT_POINTS = 0, + GEO_NODE_ATTRIBUTE_PROXIMITY_TARGET_GEOMETRY_ELEMENT_EDGES = 1, + GEO_NODE_ATTRIBUTE_PROXIMITY_TARGET_GEOMETRY_ELEMENT_FACES = 2, +} GeometryNodeAttributeProximityTargetGeometryElement; + /* Boolean Node */ typedef enum GeometryNodeBooleanOperation { GEO_NODE_BOOLEAN_INTERSECT = 0, |