Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor-Louis De Gusseme <victorlouis>2021-02-05 17:28:31 +0300
committerHans Goudey <h.goudey@me.com>2021-02-05 17:28:31 +0300
commit4d39a0f8eb1103aa58611fff7219f4bf3d70f70f (patch)
treecd36763c81288f8c35e25deb05bf6da4de57b20b /source/blender/makesdna/DNA_node_types.h
parent7054d03701250b245df9cf60b80c3c5e9aca308f (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.h13
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,