nodebpy 0.2.1__py3-none-any.whl → 0.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nodebpy/builder.py +195 -407
- nodebpy/nodes/__init__.py +6 -0
- nodebpy/nodes/attribute.py +98 -4
- nodebpy/nodes/color.py +6 -2
- nodebpy/nodes/converter.py +357 -54
- nodebpy/nodes/experimental.py +9 -3
- nodebpy/nodes/geometry.py +390 -94
- nodebpy/nodes/grid.py +90 -30
- nodebpy/nodes/group.py +3 -1
- nodebpy/nodes/input.py +239 -78
- nodebpy/nodes/interface.py +21 -7
- nodebpy/nodes/manual.py +46 -17
- nodebpy/nodes/output.py +8 -1
- nodebpy/nodes/texture.py +30 -10
- nodebpy/nodes/vector.py +41 -4
- nodebpy/nodes/zone.py +199 -204
- nodebpy/types.py +1 -1
- {nodebpy-0.2.1.dist-info → nodebpy-0.3.1.dist-info}/METADATA +14 -4
- nodebpy-0.3.1.dist-info/RECORD +26 -0
- nodebpy-0.2.1.dist-info/RECORD +0 -26
- {nodebpy-0.2.1.dist-info → nodebpy-0.3.1.dist-info}/WHEEL +0 -0
- {nodebpy-0.2.1.dist-info → nodebpy-0.3.1.dist-info}/entry_points.txt +0 -0
nodebpy/nodes/input.py
CHANGED
|
@@ -17,7 +17,9 @@ from ..types import (
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class Cursor3D(NodeBuilder):
|
|
20
|
-
"""
|
|
20
|
+
"""
|
|
21
|
+
The scene's 3D cursor location and rotation
|
|
22
|
+
"""
|
|
21
23
|
|
|
22
24
|
_bl_idname = "GeometryNodeTool3DCursor"
|
|
23
25
|
node: bpy.types.GeometryNodeTool3DCursor
|
|
@@ -40,7 +42,9 @@ class Cursor3D(NodeBuilder):
|
|
|
40
42
|
|
|
41
43
|
|
|
42
44
|
class ActiveCamera(NodeBuilder):
|
|
43
|
-
"""
|
|
45
|
+
"""
|
|
46
|
+
Retrieve the scene's active camera
|
|
47
|
+
"""
|
|
44
48
|
|
|
45
49
|
_bl_idname = "GeometryNodeInputActiveCamera"
|
|
46
50
|
node: bpy.types.GeometryNodeInputActiveCamera
|
|
@@ -58,7 +62,9 @@ class ActiveCamera(NodeBuilder):
|
|
|
58
62
|
|
|
59
63
|
|
|
60
64
|
class ActiveElement(NodeBuilder):
|
|
61
|
-
"""
|
|
65
|
+
"""
|
|
66
|
+
Active element indices of the edited geometry, for tool execution
|
|
67
|
+
"""
|
|
62
68
|
|
|
63
69
|
_bl_idname = "GeometryNodeToolActiveElement"
|
|
64
70
|
node: bpy.types.GeometryNodeToolActiveElement
|
|
@@ -109,7 +115,9 @@ class ActiveElement(NodeBuilder):
|
|
|
109
115
|
|
|
110
116
|
|
|
111
117
|
class Boolean(NodeBuilder):
|
|
112
|
-
"""
|
|
118
|
+
"""
|
|
119
|
+
Provide a True/False value that can be connected to other nodes in the tree
|
|
120
|
+
"""
|
|
113
121
|
|
|
114
122
|
_bl_idname = "FunctionNodeInputBool"
|
|
115
123
|
node: bpy.types.FunctionNodeInputBool
|
|
@@ -135,7 +143,9 @@ class Boolean(NodeBuilder):
|
|
|
135
143
|
|
|
136
144
|
|
|
137
145
|
class CameraInfo(NodeBuilder):
|
|
138
|
-
"""
|
|
146
|
+
"""
|
|
147
|
+
Retrieve information from a camera object
|
|
148
|
+
"""
|
|
139
149
|
|
|
140
150
|
_bl_idname = "GeometryNodeCameraInfo"
|
|
141
151
|
node: bpy.types.GeometryNodeCameraInfo
|
|
@@ -198,7 +208,9 @@ class CameraInfo(NodeBuilder):
|
|
|
198
208
|
|
|
199
209
|
|
|
200
210
|
class Collection(NodeBuilder):
|
|
201
|
-
"""
|
|
211
|
+
"""
|
|
212
|
+
Output a single collection
|
|
213
|
+
"""
|
|
202
214
|
|
|
203
215
|
_bl_idname = "GeometryNodeInputCollection"
|
|
204
216
|
node: bpy.types.GeometryNodeInputCollection
|
|
@@ -216,7 +228,9 @@ class Collection(NodeBuilder):
|
|
|
216
228
|
|
|
217
229
|
|
|
218
230
|
class CollectionInfo(NodeBuilder):
|
|
219
|
-
"""
|
|
231
|
+
"""
|
|
232
|
+
Retrieve geometry instances from a collection
|
|
233
|
+
"""
|
|
220
234
|
|
|
221
235
|
_bl_idname = "GeometryNodeCollectionInfo"
|
|
222
236
|
node: bpy.types.GeometryNodeCollectionInfo
|
|
@@ -268,7 +282,9 @@ class CollectionInfo(NodeBuilder):
|
|
|
268
282
|
|
|
269
283
|
|
|
270
284
|
class Color(NodeBuilder):
|
|
271
|
-
"""
|
|
285
|
+
"""
|
|
286
|
+
Output a color value chosen with the color picker widget
|
|
287
|
+
"""
|
|
272
288
|
|
|
273
289
|
_bl_idname = "FunctionNodeInputColor"
|
|
274
290
|
node: bpy.types.FunctionNodeInputColor
|
|
@@ -296,7 +312,9 @@ class Color(NodeBuilder):
|
|
|
296
312
|
|
|
297
313
|
|
|
298
314
|
class CornersOfEdge(NodeBuilder):
|
|
299
|
-
"""
|
|
315
|
+
"""
|
|
316
|
+
Retrieve face corners connected to edges
|
|
317
|
+
"""
|
|
300
318
|
|
|
301
319
|
_bl_idname = "GeometryNodeCornersOfEdge"
|
|
302
320
|
node: bpy.types.GeometryNodeCornersOfEdge
|
|
@@ -343,7 +361,9 @@ class CornersOfEdge(NodeBuilder):
|
|
|
343
361
|
|
|
344
362
|
|
|
345
363
|
class CornersOfFace(NodeBuilder):
|
|
346
|
-
"""
|
|
364
|
+
"""
|
|
365
|
+
Retrieve corners that make up a face
|
|
366
|
+
"""
|
|
347
367
|
|
|
348
368
|
_bl_idname = "GeometryNodeCornersOfFace"
|
|
349
369
|
node: bpy.types.GeometryNodeCornersOfFace
|
|
@@ -390,7 +410,9 @@ class CornersOfFace(NodeBuilder):
|
|
|
390
410
|
|
|
391
411
|
|
|
392
412
|
class CornersOfVertex(NodeBuilder):
|
|
393
|
-
"""
|
|
413
|
+
"""
|
|
414
|
+
Retrieve face corners connected to vertices
|
|
415
|
+
"""
|
|
394
416
|
|
|
395
417
|
_bl_idname = "GeometryNodeCornersOfVertex"
|
|
396
418
|
node: bpy.types.GeometryNodeCornersOfVertex
|
|
@@ -437,7 +459,9 @@ class CornersOfVertex(NodeBuilder):
|
|
|
437
459
|
|
|
438
460
|
|
|
439
461
|
class CurveHandlePositions(NodeBuilder):
|
|
440
|
-
"""
|
|
462
|
+
"""
|
|
463
|
+
Retrieve the position of each Bézier control point's handles
|
|
464
|
+
"""
|
|
441
465
|
|
|
442
466
|
_bl_idname = "GeometryNodeInputCurveHandlePositions"
|
|
443
467
|
node: bpy.types.GeometryNodeInputCurveHandlePositions
|
|
@@ -465,7 +489,9 @@ class CurveHandlePositions(NodeBuilder):
|
|
|
465
489
|
|
|
466
490
|
|
|
467
491
|
class CurveTangent(NodeBuilder):
|
|
468
|
-
"""
|
|
492
|
+
"""
|
|
493
|
+
Retrieve the direction of curves at each control point
|
|
494
|
+
"""
|
|
469
495
|
|
|
470
496
|
_bl_idname = "GeometryNodeInputTangent"
|
|
471
497
|
node: bpy.types.GeometryNodeInputTangent
|
|
@@ -483,7 +509,9 @@ class CurveTangent(NodeBuilder):
|
|
|
483
509
|
|
|
484
510
|
|
|
485
511
|
class CurveTilt(NodeBuilder):
|
|
486
|
-
"""
|
|
512
|
+
"""
|
|
513
|
+
Retrieve the angle at each control point used to twist the curve's normal around its tangent
|
|
514
|
+
"""
|
|
487
515
|
|
|
488
516
|
_bl_idname = "GeometryNodeInputCurveTilt"
|
|
489
517
|
node: bpy.types.GeometryNodeInputCurveTilt
|
|
@@ -501,7 +529,9 @@ class CurveTilt(NodeBuilder):
|
|
|
501
529
|
|
|
502
530
|
|
|
503
531
|
class CurveOfPoint(NodeBuilder):
|
|
504
|
-
"""
|
|
532
|
+
"""
|
|
533
|
+
Retrieve the curve a control point is part of
|
|
534
|
+
"""
|
|
505
535
|
|
|
506
536
|
_bl_idname = "GeometryNodeCurveOfPoint"
|
|
507
537
|
node: bpy.types.GeometryNodeCurveOfPoint
|
|
@@ -529,7 +559,9 @@ class CurveOfPoint(NodeBuilder):
|
|
|
529
559
|
|
|
530
560
|
|
|
531
561
|
class EdgeAngle(NodeBuilder):
|
|
532
|
-
"""
|
|
562
|
+
"""
|
|
563
|
+
The angle between the normals of connected manifold faces
|
|
564
|
+
"""
|
|
533
565
|
|
|
534
566
|
_bl_idname = "GeometryNodeInputMeshEdgeAngle"
|
|
535
567
|
node: bpy.types.GeometryNodeInputMeshEdgeAngle
|
|
@@ -552,7 +584,9 @@ class EdgeAngle(NodeBuilder):
|
|
|
552
584
|
|
|
553
585
|
|
|
554
586
|
class EdgeNeighbors(NodeBuilder):
|
|
555
|
-
"""
|
|
587
|
+
"""
|
|
588
|
+
Retrieve the number of faces that use each edge as one of their sides
|
|
589
|
+
"""
|
|
556
590
|
|
|
557
591
|
_bl_idname = "GeometryNodeInputMeshEdgeNeighbors"
|
|
558
592
|
node: bpy.types.GeometryNodeInputMeshEdgeNeighbors
|
|
@@ -570,7 +604,9 @@ class EdgeNeighbors(NodeBuilder):
|
|
|
570
604
|
|
|
571
605
|
|
|
572
606
|
class EdgePathsToSelection(NodeBuilder):
|
|
573
|
-
"""
|
|
607
|
+
"""
|
|
608
|
+
Output a selection of edges by following paths across mesh edges
|
|
609
|
+
"""
|
|
574
610
|
|
|
575
611
|
_bl_idname = "GeometryNodeEdgePathsToSelection"
|
|
576
612
|
node: bpy.types.GeometryNodeEdgePathsToSelection
|
|
@@ -605,7 +641,9 @@ class EdgePathsToSelection(NodeBuilder):
|
|
|
605
641
|
|
|
606
642
|
|
|
607
643
|
class EdgeVertices(NodeBuilder):
|
|
608
|
-
"""
|
|
644
|
+
"""
|
|
645
|
+
Retrieve topology information relating to each edge of a mesh
|
|
646
|
+
"""
|
|
609
647
|
|
|
610
648
|
_bl_idname = "GeometryNodeInputMeshEdgeVertices"
|
|
611
649
|
node: bpy.types.GeometryNodeInputMeshEdgeVertices
|
|
@@ -638,7 +676,9 @@ class EdgeVertices(NodeBuilder):
|
|
|
638
676
|
|
|
639
677
|
|
|
640
678
|
class EdgesOfCorner(NodeBuilder):
|
|
641
|
-
"""
|
|
679
|
+
"""
|
|
680
|
+
Retrieve the edges on both sides of a face corner
|
|
681
|
+
"""
|
|
642
682
|
|
|
643
683
|
_bl_idname = "GeometryNodeEdgesOfCorner"
|
|
644
684
|
node: bpy.types.GeometryNodeEdgesOfCorner
|
|
@@ -666,7 +706,9 @@ class EdgesOfCorner(NodeBuilder):
|
|
|
666
706
|
|
|
667
707
|
|
|
668
708
|
class EdgesOfVertex(NodeBuilder):
|
|
669
|
-
"""
|
|
709
|
+
"""
|
|
710
|
+
Retrieve the edges connected to each vertex
|
|
711
|
+
"""
|
|
670
712
|
|
|
671
713
|
_bl_idname = "GeometryNodeEdgesOfVertex"
|
|
672
714
|
node: bpy.types.GeometryNodeEdgesOfVertex
|
|
@@ -713,7 +755,9 @@ class EdgesOfVertex(NodeBuilder):
|
|
|
713
755
|
|
|
714
756
|
|
|
715
757
|
class EdgesToFaceGroups(NodeBuilder):
|
|
716
|
-
"""
|
|
758
|
+
"""
|
|
759
|
+
Group faces into regions surrounded by the selected boundary edges
|
|
760
|
+
"""
|
|
717
761
|
|
|
718
762
|
_bl_idname = "GeometryNodeEdgesToFaceGroups"
|
|
719
763
|
node: bpy.types.GeometryNodeEdgesToFaceGroups
|
|
@@ -736,7 +780,9 @@ class EdgesToFaceGroups(NodeBuilder):
|
|
|
736
780
|
|
|
737
781
|
|
|
738
782
|
class EndpointSelection(NodeBuilder):
|
|
739
|
-
"""
|
|
783
|
+
"""
|
|
784
|
+
Provide a selection for an arbitrary number of endpoints in each spline
|
|
785
|
+
"""
|
|
740
786
|
|
|
741
787
|
_bl_idname = "GeometryNodeCurveEndpointSelection"
|
|
742
788
|
node: bpy.types.GeometryNodeCurveEndpointSelection
|
|
@@ -768,7 +814,9 @@ class EndpointSelection(NodeBuilder):
|
|
|
768
814
|
|
|
769
815
|
|
|
770
816
|
class FaceArea(NodeBuilder):
|
|
771
|
-
"""
|
|
817
|
+
"""
|
|
818
|
+
Calculate the surface area of a mesh's faces
|
|
819
|
+
"""
|
|
772
820
|
|
|
773
821
|
_bl_idname = "GeometryNodeInputMeshFaceArea"
|
|
774
822
|
node: bpy.types.GeometryNodeInputMeshFaceArea
|
|
@@ -786,7 +834,9 @@ class FaceArea(NodeBuilder):
|
|
|
786
834
|
|
|
787
835
|
|
|
788
836
|
class FaceGroupBoundaries(NodeBuilder):
|
|
789
|
-
"""
|
|
837
|
+
"""
|
|
838
|
+
Find edges on the boundaries between groups of faces with the same ID value
|
|
839
|
+
"""
|
|
790
840
|
|
|
791
841
|
_bl_idname = "GeometryNodeMeshFaceSetBoundaries"
|
|
792
842
|
node: bpy.types.GeometryNodeMeshFaceSetBoundaries
|
|
@@ -809,7 +859,9 @@ class FaceGroupBoundaries(NodeBuilder):
|
|
|
809
859
|
|
|
810
860
|
|
|
811
861
|
class FaceNeighbors(NodeBuilder):
|
|
812
|
-
"""
|
|
862
|
+
"""
|
|
863
|
+
Retrieve topology information relating to each face of a mesh
|
|
864
|
+
"""
|
|
813
865
|
|
|
814
866
|
_bl_idname = "GeometryNodeInputMeshFaceNeighbors"
|
|
815
867
|
node: bpy.types.GeometryNodeInputMeshFaceNeighbors
|
|
@@ -832,7 +884,9 @@ class FaceNeighbors(NodeBuilder):
|
|
|
832
884
|
|
|
833
885
|
|
|
834
886
|
class FaceSet(NodeBuilder):
|
|
835
|
-
"""
|
|
887
|
+
"""
|
|
888
|
+
Each face's sculpt face set value
|
|
889
|
+
"""
|
|
836
890
|
|
|
837
891
|
_bl_idname = "GeometryNodeToolFaceSet"
|
|
838
892
|
node: bpy.types.GeometryNodeToolFaceSet
|
|
@@ -855,7 +909,9 @@ class FaceSet(NodeBuilder):
|
|
|
855
909
|
|
|
856
910
|
|
|
857
911
|
class FaceOfCorner(NodeBuilder):
|
|
858
|
-
"""
|
|
912
|
+
"""
|
|
913
|
+
Retrieve the face each face corner is part of
|
|
914
|
+
"""
|
|
859
915
|
|
|
860
916
|
_bl_idname = "GeometryNodeFaceOfCorner"
|
|
861
917
|
node: bpy.types.GeometryNodeFaceOfCorner
|
|
@@ -883,7 +939,9 @@ class FaceOfCorner(NodeBuilder):
|
|
|
883
939
|
|
|
884
940
|
|
|
885
941
|
class ID(NodeBuilder):
|
|
886
|
-
"""
|
|
942
|
+
"""
|
|
943
|
+
Retrieve a stable random identifier value from the "id" attribute on the point domain, or the index if the attribute does not exist
|
|
944
|
+
"""
|
|
887
945
|
|
|
888
946
|
_bl_idname = "GeometryNodeInputID"
|
|
889
947
|
node: bpy.types.GeometryNodeInputID
|
|
@@ -901,7 +959,9 @@ class ID(NodeBuilder):
|
|
|
901
959
|
|
|
902
960
|
|
|
903
961
|
class Image(NodeBuilder):
|
|
904
|
-
"""
|
|
962
|
+
"""
|
|
963
|
+
Input an image data-block
|
|
964
|
+
"""
|
|
905
965
|
|
|
906
966
|
_bl_idname = "GeometryNodeInputImage"
|
|
907
967
|
node: bpy.types.GeometryNodeInputImage
|
|
@@ -919,7 +979,9 @@ class Image(NodeBuilder):
|
|
|
919
979
|
|
|
920
980
|
|
|
921
981
|
class ImageInfo(NodeBuilder):
|
|
922
|
-
"""
|
|
982
|
+
"""
|
|
983
|
+
Retrieve information about an image
|
|
984
|
+
"""
|
|
923
985
|
|
|
924
986
|
_bl_idname = "GeometryNodeImageInfo"
|
|
925
987
|
node: bpy.types.GeometryNodeImageInfo
|
|
@@ -971,7 +1033,9 @@ class ImageInfo(NodeBuilder):
|
|
|
971
1033
|
|
|
972
1034
|
|
|
973
1035
|
class ImportCSV(NodeBuilder):
|
|
974
|
-
"""
|
|
1036
|
+
"""
|
|
1037
|
+
Import geometry from an CSV file
|
|
1038
|
+
"""
|
|
975
1039
|
|
|
976
1040
|
_bl_idname = "GeometryNodeImportCSV"
|
|
977
1041
|
node: bpy.types.GeometryNodeImportCSV
|
|
@@ -1003,7 +1067,9 @@ class ImportCSV(NodeBuilder):
|
|
|
1003
1067
|
|
|
1004
1068
|
|
|
1005
1069
|
class ImportOBJ(NodeBuilder):
|
|
1006
|
-
"""
|
|
1070
|
+
"""
|
|
1071
|
+
Import geometry from an OBJ file
|
|
1072
|
+
"""
|
|
1007
1073
|
|
|
1008
1074
|
_bl_idname = "GeometryNodeImportOBJ"
|
|
1009
1075
|
node: bpy.types.GeometryNodeImportOBJ
|
|
@@ -1026,7 +1092,9 @@ class ImportOBJ(NodeBuilder):
|
|
|
1026
1092
|
|
|
1027
1093
|
|
|
1028
1094
|
class ImportPLY(NodeBuilder):
|
|
1029
|
-
"""
|
|
1095
|
+
"""
|
|
1096
|
+
Import a point cloud from a PLY file
|
|
1097
|
+
"""
|
|
1030
1098
|
|
|
1031
1099
|
_bl_idname = "GeometryNodeImportPLY"
|
|
1032
1100
|
node: bpy.types.GeometryNodeImportPLY
|
|
@@ -1049,7 +1117,9 @@ class ImportPLY(NodeBuilder):
|
|
|
1049
1117
|
|
|
1050
1118
|
|
|
1051
1119
|
class ImportSTL(NodeBuilder):
|
|
1052
|
-
"""
|
|
1120
|
+
"""
|
|
1121
|
+
Import a mesh from an STL file
|
|
1122
|
+
"""
|
|
1053
1123
|
|
|
1054
1124
|
_bl_idname = "GeometryNodeImportSTL"
|
|
1055
1125
|
node: bpy.types.GeometryNodeImportSTL
|
|
@@ -1072,7 +1142,9 @@ class ImportSTL(NodeBuilder):
|
|
|
1072
1142
|
|
|
1073
1143
|
|
|
1074
1144
|
class ImportText(NodeBuilder):
|
|
1075
|
-
"""
|
|
1145
|
+
"""
|
|
1146
|
+
Import a string from a text file
|
|
1147
|
+
"""
|
|
1076
1148
|
|
|
1077
1149
|
_bl_idname = "GeometryNodeImportText"
|
|
1078
1150
|
node: bpy.types.GeometryNodeImportText
|
|
@@ -1095,7 +1167,9 @@ class ImportText(NodeBuilder):
|
|
|
1095
1167
|
|
|
1096
1168
|
|
|
1097
1169
|
class ImportVDB(NodeBuilder):
|
|
1098
|
-
"""
|
|
1170
|
+
"""
|
|
1171
|
+
Import volume data from a .vdb file
|
|
1172
|
+
"""
|
|
1099
1173
|
|
|
1100
1174
|
_bl_idname = "GeometryNodeImportVDB"
|
|
1101
1175
|
node: bpy.types.GeometryNodeImportVDB
|
|
@@ -1118,7 +1192,9 @@ class ImportVDB(NodeBuilder):
|
|
|
1118
1192
|
|
|
1119
1193
|
|
|
1120
1194
|
class Index(NodeBuilder):
|
|
1121
|
-
"""
|
|
1195
|
+
"""
|
|
1196
|
+
Retrieve an integer value indicating the position of each element in the list, starting at zero
|
|
1197
|
+
"""
|
|
1122
1198
|
|
|
1123
1199
|
_bl_idname = "GeometryNodeInputIndex"
|
|
1124
1200
|
node: bpy.types.GeometryNodeInputIndex
|
|
@@ -1136,7 +1212,9 @@ class Index(NodeBuilder):
|
|
|
1136
1212
|
|
|
1137
1213
|
|
|
1138
1214
|
class InstanceBounds(NodeBuilder):
|
|
1139
|
-
"""
|
|
1215
|
+
"""
|
|
1216
|
+
Calculate position bounds of each instance's geometry set
|
|
1217
|
+
"""
|
|
1140
1218
|
|
|
1141
1219
|
_bl_idname = "GeometryNodeInputInstanceBounds"
|
|
1142
1220
|
node: bpy.types.GeometryNodeInputInstanceBounds
|
|
@@ -1164,7 +1242,9 @@ class InstanceBounds(NodeBuilder):
|
|
|
1164
1242
|
|
|
1165
1243
|
|
|
1166
1244
|
class InstanceRotation(NodeBuilder):
|
|
1167
|
-
"""
|
|
1245
|
+
"""
|
|
1246
|
+
Retrieve the rotation of each instance in the geometry
|
|
1247
|
+
"""
|
|
1168
1248
|
|
|
1169
1249
|
_bl_idname = "GeometryNodeInputInstanceRotation"
|
|
1170
1250
|
node: bpy.types.GeometryNodeInputInstanceRotation
|
|
@@ -1182,7 +1262,9 @@ class InstanceRotation(NodeBuilder):
|
|
|
1182
1262
|
|
|
1183
1263
|
|
|
1184
1264
|
class InstanceScale(NodeBuilder):
|
|
1185
|
-
"""
|
|
1265
|
+
"""
|
|
1266
|
+
Retrieve the scale of each instance in the geometry
|
|
1267
|
+
"""
|
|
1186
1268
|
|
|
1187
1269
|
_bl_idname = "GeometryNodeInputInstanceScale"
|
|
1188
1270
|
node: bpy.types.GeometryNodeInputInstanceScale
|
|
@@ -1200,7 +1282,9 @@ class InstanceScale(NodeBuilder):
|
|
|
1200
1282
|
|
|
1201
1283
|
|
|
1202
1284
|
class InstanceTransform(NodeBuilder):
|
|
1203
|
-
"""
|
|
1285
|
+
"""
|
|
1286
|
+
Retrieve the full transformation of each instance in the geometry
|
|
1287
|
+
"""
|
|
1204
1288
|
|
|
1205
1289
|
_bl_idname = "GeometryNodeInstanceTransform"
|
|
1206
1290
|
node: bpy.types.GeometryNodeInstanceTransform
|
|
@@ -1218,7 +1302,9 @@ class InstanceTransform(NodeBuilder):
|
|
|
1218
1302
|
|
|
1219
1303
|
|
|
1220
1304
|
class Integer(NodeBuilder):
|
|
1221
|
-
"""
|
|
1305
|
+
"""
|
|
1306
|
+
Provide an integer value that can be connected to other nodes in the tree
|
|
1307
|
+
"""
|
|
1222
1308
|
|
|
1223
1309
|
_bl_idname = "FunctionNodeInputInt"
|
|
1224
1310
|
node: bpy.types.FunctionNodeInputInt
|
|
@@ -1244,7 +1330,9 @@ class Integer(NodeBuilder):
|
|
|
1244
1330
|
|
|
1245
1331
|
|
|
1246
1332
|
class IsEdgeSmooth(NodeBuilder):
|
|
1247
|
-
"""
|
|
1333
|
+
"""
|
|
1334
|
+
Retrieve whether each edge is marked for smooth or split normals
|
|
1335
|
+
"""
|
|
1248
1336
|
|
|
1249
1337
|
_bl_idname = "GeometryNodeInputEdgeSmooth"
|
|
1250
1338
|
node: bpy.types.GeometryNodeInputEdgeSmooth
|
|
@@ -1262,7 +1350,9 @@ class IsEdgeSmooth(NodeBuilder):
|
|
|
1262
1350
|
|
|
1263
1351
|
|
|
1264
1352
|
class IsFacePlanar(NodeBuilder):
|
|
1265
|
-
"""
|
|
1353
|
+
"""
|
|
1354
|
+
Retrieve whether all triangles in a face are on the same plane, i.e. whether they have the same normal
|
|
1355
|
+
"""
|
|
1266
1356
|
|
|
1267
1357
|
_bl_idname = "GeometryNodeInputMeshFaceIsPlanar"
|
|
1268
1358
|
node: bpy.types.GeometryNodeInputMeshFaceIsPlanar
|
|
@@ -1285,7 +1375,9 @@ class IsFacePlanar(NodeBuilder):
|
|
|
1285
1375
|
|
|
1286
1376
|
|
|
1287
1377
|
class IsFaceSmooth(NodeBuilder):
|
|
1288
|
-
"""
|
|
1378
|
+
"""
|
|
1379
|
+
Retrieve whether each face is marked for smooth or sharp normals
|
|
1380
|
+
"""
|
|
1289
1381
|
|
|
1290
1382
|
_bl_idname = "GeometryNodeInputShadeSmooth"
|
|
1291
1383
|
node: bpy.types.GeometryNodeInputShadeSmooth
|
|
@@ -1303,7 +1395,9 @@ class IsFaceSmooth(NodeBuilder):
|
|
|
1303
1395
|
|
|
1304
1396
|
|
|
1305
1397
|
class IsSplineCyclic(NodeBuilder):
|
|
1306
|
-
"""
|
|
1398
|
+
"""
|
|
1399
|
+
Retrieve whether each spline endpoint connects to the beginning
|
|
1400
|
+
"""
|
|
1307
1401
|
|
|
1308
1402
|
_bl_idname = "GeometryNodeInputSplineCyclic"
|
|
1309
1403
|
node: bpy.types.GeometryNodeInputSplineCyclic
|
|
@@ -1321,7 +1415,9 @@ class IsSplineCyclic(NodeBuilder):
|
|
|
1321
1415
|
|
|
1322
1416
|
|
|
1323
1417
|
class IsViewport(NodeBuilder):
|
|
1324
|
-
"""
|
|
1418
|
+
"""
|
|
1419
|
+
Retrieve whether the nodes are being evaluated for the viewport rather than the final render
|
|
1420
|
+
"""
|
|
1325
1421
|
|
|
1326
1422
|
_bl_idname = "GeometryNodeIsViewport"
|
|
1327
1423
|
node: bpy.types.GeometryNodeIsViewport
|
|
@@ -1339,7 +1435,9 @@ class IsViewport(NodeBuilder):
|
|
|
1339
1435
|
|
|
1340
1436
|
|
|
1341
1437
|
class Material(NodeBuilder):
|
|
1342
|
-
"""
|
|
1438
|
+
"""
|
|
1439
|
+
Output a single material
|
|
1440
|
+
"""
|
|
1343
1441
|
|
|
1344
1442
|
_bl_idname = "GeometryNodeInputMaterial"
|
|
1345
1443
|
node: bpy.types.GeometryNodeInputMaterial
|
|
@@ -1357,7 +1455,9 @@ class Material(NodeBuilder):
|
|
|
1357
1455
|
|
|
1358
1456
|
|
|
1359
1457
|
class MaterialIndex(NodeBuilder):
|
|
1360
|
-
"""
|
|
1458
|
+
"""
|
|
1459
|
+
Retrieve the index of the material used for each element in the geometry's list of materials
|
|
1460
|
+
"""
|
|
1361
1461
|
|
|
1362
1462
|
_bl_idname = "GeometryNodeInputMaterialIndex"
|
|
1363
1463
|
node: bpy.types.GeometryNodeInputMaterialIndex
|
|
@@ -1375,7 +1475,9 @@ class MaterialIndex(NodeBuilder):
|
|
|
1375
1475
|
|
|
1376
1476
|
|
|
1377
1477
|
class MeshIsland(NodeBuilder):
|
|
1378
|
-
"""
|
|
1478
|
+
"""
|
|
1479
|
+
Retrieve information about separate connected regions in a mesh
|
|
1480
|
+
"""
|
|
1379
1481
|
|
|
1380
1482
|
_bl_idname = "GeometryNodeInputMeshIsland"
|
|
1381
1483
|
node: bpy.types.GeometryNodeInputMeshIsland
|
|
@@ -1398,7 +1500,9 @@ class MeshIsland(NodeBuilder):
|
|
|
1398
1500
|
|
|
1399
1501
|
|
|
1400
1502
|
class MousePosition(NodeBuilder):
|
|
1401
|
-
"""
|
|
1503
|
+
"""
|
|
1504
|
+
Retrieve the position of the mouse cursor
|
|
1505
|
+
"""
|
|
1402
1506
|
|
|
1403
1507
|
_bl_idname = "GeometryNodeToolMousePosition"
|
|
1404
1508
|
node: bpy.types.GeometryNodeToolMousePosition
|
|
@@ -1431,7 +1535,9 @@ class MousePosition(NodeBuilder):
|
|
|
1431
1535
|
|
|
1432
1536
|
|
|
1433
1537
|
class NamedAttribute(NodeBuilder):
|
|
1434
|
-
"""
|
|
1538
|
+
"""
|
|
1539
|
+
Retrieve the data of a specified attribute
|
|
1540
|
+
"""
|
|
1435
1541
|
|
|
1436
1542
|
_bl_idname = "GeometryNodeInputNamedAttribute"
|
|
1437
1543
|
node: bpy.types.GeometryNodeInputNamedAttribute
|
|
@@ -1485,6 +1591,11 @@ class NamedAttribute(NodeBuilder):
|
|
|
1485
1591
|
"""Create Named Attribute with operation 'Quaternion'."""
|
|
1486
1592
|
return cls(data_type="QUATERNION", name=name)
|
|
1487
1593
|
|
|
1594
|
+
@classmethod
|
|
1595
|
+
def matrix(cls, name: TYPE_INPUT_STRING = "") -> "NamedAttribute":
|
|
1596
|
+
"""Create Named Attribute with operation '4x4 Matrix'."""
|
|
1597
|
+
return cls(data_type="FLOAT4X4", name=name)
|
|
1598
|
+
|
|
1488
1599
|
@property
|
|
1489
1600
|
def i_name(self) -> SocketLinker:
|
|
1490
1601
|
"""Input socket: Name"""
|
|
@@ -1531,7 +1642,9 @@ class NamedAttribute(NodeBuilder):
|
|
|
1531
1642
|
|
|
1532
1643
|
|
|
1533
1644
|
class NamedLayerSelection(NodeBuilder):
|
|
1534
|
-
"""
|
|
1645
|
+
"""
|
|
1646
|
+
Output a selection of a Grease Pencil layer
|
|
1647
|
+
"""
|
|
1535
1648
|
|
|
1536
1649
|
_bl_idname = "GeometryNodeInputNamedLayerSelection"
|
|
1537
1650
|
node: bpy.types.GeometryNodeInputNamedLayerSelection
|
|
@@ -1554,7 +1667,9 @@ class NamedLayerSelection(NodeBuilder):
|
|
|
1554
1667
|
|
|
1555
1668
|
|
|
1556
1669
|
class Normal(NodeBuilder):
|
|
1557
|
-
"""
|
|
1670
|
+
"""
|
|
1671
|
+
Retrieve a unit length vector indicating the direction pointing away from the geometry at each element
|
|
1672
|
+
"""
|
|
1558
1673
|
|
|
1559
1674
|
_bl_idname = "GeometryNodeInputNormal"
|
|
1560
1675
|
node: bpy.types.GeometryNodeInputNormal
|
|
@@ -1585,7 +1700,9 @@ class Normal(NodeBuilder):
|
|
|
1585
1700
|
|
|
1586
1701
|
|
|
1587
1702
|
class Object(NodeBuilder):
|
|
1588
|
-
"""
|
|
1703
|
+
"""
|
|
1704
|
+
Output a single object
|
|
1705
|
+
"""
|
|
1589
1706
|
|
|
1590
1707
|
_bl_idname = "GeometryNodeInputObject"
|
|
1591
1708
|
node: bpy.types.GeometryNodeInputObject
|
|
@@ -1603,7 +1720,9 @@ class Object(NodeBuilder):
|
|
|
1603
1720
|
|
|
1604
1721
|
|
|
1605
1722
|
class ObjectInfo(NodeBuilder):
|
|
1606
|
-
"""
|
|
1723
|
+
"""
|
|
1724
|
+
Retrieve information from an object
|
|
1725
|
+
"""
|
|
1607
1726
|
|
|
1608
1727
|
_bl_idname = "GeometryNodeObjectInfo"
|
|
1609
1728
|
node: bpy.types.GeometryNodeObjectInfo
|
|
@@ -1665,7 +1784,9 @@ class ObjectInfo(NodeBuilder):
|
|
|
1665
1784
|
|
|
1666
1785
|
|
|
1667
1786
|
class OffsetCornerInFace(NodeBuilder):
|
|
1668
|
-
"""
|
|
1787
|
+
"""
|
|
1788
|
+
Retrieve corners in the same face as another
|
|
1789
|
+
"""
|
|
1669
1790
|
|
|
1670
1791
|
_bl_idname = "GeometryNodeOffsetCornerInFace"
|
|
1671
1792
|
node: bpy.types.GeometryNodeOffsetCornerInFace
|
|
@@ -1697,7 +1818,9 @@ class OffsetCornerInFace(NodeBuilder):
|
|
|
1697
1818
|
|
|
1698
1819
|
|
|
1699
1820
|
class OffsetPointInCurve(NodeBuilder):
|
|
1700
|
-
"""
|
|
1821
|
+
"""
|
|
1822
|
+
Offset a control point index within its curve
|
|
1823
|
+
"""
|
|
1701
1824
|
|
|
1702
1825
|
_bl_idname = "GeometryNodeOffsetPointInCurve"
|
|
1703
1826
|
node: bpy.types.GeometryNodeOffsetPointInCurve
|
|
@@ -1734,7 +1857,9 @@ class OffsetPointInCurve(NodeBuilder):
|
|
|
1734
1857
|
|
|
1735
1858
|
|
|
1736
1859
|
class PointsOfCurve(NodeBuilder):
|
|
1737
|
-
"""
|
|
1860
|
+
"""
|
|
1861
|
+
Retrieve a point index within a curve
|
|
1862
|
+
"""
|
|
1738
1863
|
|
|
1739
1864
|
_bl_idname = "GeometryNodePointsOfCurve"
|
|
1740
1865
|
node: bpy.types.GeometryNodePointsOfCurve
|
|
@@ -1781,7 +1906,9 @@ class PointsOfCurve(NodeBuilder):
|
|
|
1781
1906
|
|
|
1782
1907
|
|
|
1783
1908
|
class Position(NodeBuilder):
|
|
1784
|
-
"""
|
|
1909
|
+
"""
|
|
1910
|
+
Retrieve a vector indicating the location of each element
|
|
1911
|
+
"""
|
|
1785
1912
|
|
|
1786
1913
|
_bl_idname = "GeometryNodeInputPosition"
|
|
1787
1914
|
node: bpy.types.GeometryNodeInputPosition
|
|
@@ -1799,7 +1926,9 @@ class Position(NodeBuilder):
|
|
|
1799
1926
|
|
|
1800
1927
|
|
|
1801
1928
|
class Radius(NodeBuilder):
|
|
1802
|
-
"""
|
|
1929
|
+
"""
|
|
1930
|
+
Retrieve the radius at each point on curve or point cloud geometry
|
|
1931
|
+
"""
|
|
1803
1932
|
|
|
1804
1933
|
_bl_idname = "GeometryNodeInputRadius"
|
|
1805
1934
|
node: bpy.types.GeometryNodeInputRadius
|
|
@@ -1817,7 +1946,9 @@ class Radius(NodeBuilder):
|
|
|
1817
1946
|
|
|
1818
1947
|
|
|
1819
1948
|
class Rotation(NodeBuilder):
|
|
1820
|
-
"""
|
|
1949
|
+
"""
|
|
1950
|
+
Provide a rotation value that can be connected to other nodes in the tree
|
|
1951
|
+
"""
|
|
1821
1952
|
|
|
1822
1953
|
_bl_idname = "FunctionNodeInputRotation"
|
|
1823
1954
|
node: bpy.types.FunctionNodeInputRotation
|
|
@@ -1843,7 +1974,9 @@ class Rotation(NodeBuilder):
|
|
|
1843
1974
|
|
|
1844
1975
|
|
|
1845
1976
|
class SceneTime(NodeBuilder):
|
|
1846
|
-
"""
|
|
1977
|
+
"""
|
|
1978
|
+
Retrieve the current time in the scene's animation in units of seconds or frames
|
|
1979
|
+
"""
|
|
1847
1980
|
|
|
1848
1981
|
_bl_idname = "GeometryNodeInputSceneTime"
|
|
1849
1982
|
node: bpy.types.GeometryNodeInputSceneTime
|
|
@@ -1866,7 +1999,9 @@ class SceneTime(NodeBuilder):
|
|
|
1866
1999
|
|
|
1867
2000
|
|
|
1868
2001
|
class Selection(NodeBuilder):
|
|
1869
|
-
"""
|
|
2002
|
+
"""
|
|
2003
|
+
User selection of the edited geometry, for tool execution
|
|
2004
|
+
"""
|
|
1870
2005
|
|
|
1871
2006
|
_bl_idname = "GeometryNodeToolSelection"
|
|
1872
2007
|
node: bpy.types.GeometryNodeToolSelection
|
|
@@ -1889,7 +2024,9 @@ class Selection(NodeBuilder):
|
|
|
1889
2024
|
|
|
1890
2025
|
|
|
1891
2026
|
class SelfObject(NodeBuilder):
|
|
1892
|
-
"""
|
|
2027
|
+
"""
|
|
2028
|
+
Retrieve the object that contains the geometry nodes modifier currently being executed
|
|
2029
|
+
"""
|
|
1893
2030
|
|
|
1894
2031
|
_bl_idname = "GeometryNodeSelfObject"
|
|
1895
2032
|
node: bpy.types.GeometryNodeSelfObject
|
|
@@ -1907,7 +2044,9 @@ class SelfObject(NodeBuilder):
|
|
|
1907
2044
|
|
|
1908
2045
|
|
|
1909
2046
|
class ShortestEdgePaths(NodeBuilder):
|
|
1910
|
-
"""
|
|
2047
|
+
"""
|
|
2048
|
+
Find the shortest paths along mesh edges to selected end vertices, with customizable cost per edge
|
|
2049
|
+
"""
|
|
1911
2050
|
|
|
1912
2051
|
_bl_idname = "GeometryNodeInputShortestEdgePaths"
|
|
1913
2052
|
node: bpy.types.GeometryNodeInputShortestEdgePaths
|
|
@@ -1944,7 +2083,9 @@ class ShortestEdgePaths(NodeBuilder):
|
|
|
1944
2083
|
|
|
1945
2084
|
|
|
1946
2085
|
class SpecialCharacters(NodeBuilder):
|
|
1947
|
-
"""
|
|
2086
|
+
"""
|
|
2087
|
+
Output string characters that cannot be typed directly with the keyboard
|
|
2088
|
+
"""
|
|
1948
2089
|
|
|
1949
2090
|
_bl_idname = "FunctionNodeInputSpecialCharacters"
|
|
1950
2091
|
node: bpy.types.FunctionNodeInputSpecialCharacters
|
|
@@ -1967,7 +2108,9 @@ class SpecialCharacters(NodeBuilder):
|
|
|
1967
2108
|
|
|
1968
2109
|
|
|
1969
2110
|
class SplineLength(NodeBuilder):
|
|
1970
|
-
"""
|
|
2111
|
+
"""
|
|
2112
|
+
Retrieve the total length of each spline, as a distance or as a number of points
|
|
2113
|
+
"""
|
|
1971
2114
|
|
|
1972
2115
|
_bl_idname = "GeometryNodeSplineLength"
|
|
1973
2116
|
node: bpy.types.GeometryNodeSplineLength
|
|
@@ -1990,7 +2133,9 @@ class SplineLength(NodeBuilder):
|
|
|
1990
2133
|
|
|
1991
2134
|
|
|
1992
2135
|
class SplineParameter(NodeBuilder):
|
|
1993
|
-
"""
|
|
2136
|
+
"""
|
|
2137
|
+
Retrieve how far along each spline a control point is
|
|
2138
|
+
"""
|
|
1994
2139
|
|
|
1995
2140
|
_bl_idname = "GeometryNodeSplineParameter"
|
|
1996
2141
|
node: bpy.types.GeometryNodeSplineParameter
|
|
@@ -2018,7 +2163,9 @@ class SplineParameter(NodeBuilder):
|
|
|
2018
2163
|
|
|
2019
2164
|
|
|
2020
2165
|
class SplineResolution(NodeBuilder):
|
|
2021
|
-
"""
|
|
2166
|
+
"""
|
|
2167
|
+
Retrieve the number of evaluated points that will be generated for every control point on curves
|
|
2168
|
+
"""
|
|
2022
2169
|
|
|
2023
2170
|
_bl_idname = "GeometryNodeInputSplineResolution"
|
|
2024
2171
|
node: bpy.types.GeometryNodeInputSplineResolution
|
|
@@ -2036,7 +2183,9 @@ class SplineResolution(NodeBuilder):
|
|
|
2036
2183
|
|
|
2037
2184
|
|
|
2038
2185
|
class String(NodeBuilder):
|
|
2039
|
-
"""
|
|
2186
|
+
"""
|
|
2187
|
+
Provide a string value that can be connected to other nodes in the tree
|
|
2188
|
+
"""
|
|
2040
2189
|
|
|
2041
2190
|
_bl_idname = "FunctionNodeInputString"
|
|
2042
2191
|
node: bpy.types.FunctionNodeInputString
|
|
@@ -2062,7 +2211,9 @@ class String(NodeBuilder):
|
|
|
2062
2211
|
|
|
2063
2212
|
|
|
2064
2213
|
class UVTangent(NodeBuilder):
|
|
2065
|
-
"""
|
|
2214
|
+
"""
|
|
2215
|
+
Generate tangent directions based on a UV map
|
|
2216
|
+
"""
|
|
2066
2217
|
|
|
2067
2218
|
_bl_idname = "GeometryNodeUVTangent"
|
|
2068
2219
|
node: bpy.types.GeometryNodeUVTangent
|
|
@@ -2094,7 +2245,9 @@ class UVTangent(NodeBuilder):
|
|
|
2094
2245
|
|
|
2095
2246
|
|
|
2096
2247
|
class Vector(NodeBuilder):
|
|
2097
|
-
"""
|
|
2248
|
+
"""
|
|
2249
|
+
Provide a vector value that can be connected to other nodes in the tree
|
|
2250
|
+
"""
|
|
2098
2251
|
|
|
2099
2252
|
_bl_idname = "FunctionNodeInputVector"
|
|
2100
2253
|
node: bpy.types.FunctionNodeInputVector
|
|
@@ -2120,7 +2273,9 @@ class Vector(NodeBuilder):
|
|
|
2120
2273
|
|
|
2121
2274
|
|
|
2122
2275
|
class VertexNeighbors(NodeBuilder):
|
|
2123
|
-
"""
|
|
2276
|
+
"""
|
|
2277
|
+
Retrieve topology information relating to each vertex of a mesh
|
|
2278
|
+
"""
|
|
2124
2279
|
|
|
2125
2280
|
_bl_idname = "GeometryNodeInputMeshVertexNeighbors"
|
|
2126
2281
|
node: bpy.types.GeometryNodeInputMeshVertexNeighbors
|
|
@@ -2143,7 +2298,9 @@ class VertexNeighbors(NodeBuilder):
|
|
|
2143
2298
|
|
|
2144
2299
|
|
|
2145
2300
|
class VertexOfCorner(NodeBuilder):
|
|
2146
|
-
"""
|
|
2301
|
+
"""
|
|
2302
|
+
Retrieve the vertex each face corner is attached to
|
|
2303
|
+
"""
|
|
2147
2304
|
|
|
2148
2305
|
_bl_idname = "GeometryNodeVertexOfCorner"
|
|
2149
2306
|
node: bpy.types.GeometryNodeVertexOfCorner
|
|
@@ -2166,7 +2323,9 @@ class VertexOfCorner(NodeBuilder):
|
|
|
2166
2323
|
|
|
2167
2324
|
|
|
2168
2325
|
class ViewportTransform(NodeBuilder):
|
|
2169
|
-
"""
|
|
2326
|
+
"""
|
|
2327
|
+
Retrieve the view direction and location of the 3D viewport
|
|
2328
|
+
"""
|
|
2170
2329
|
|
|
2171
2330
|
_bl_idname = "GeometryNodeViewportTransform"
|
|
2172
2331
|
node: bpy.types.GeometryNodeViewportTransform
|
|
@@ -2194,7 +2353,9 @@ class ViewportTransform(NodeBuilder):
|
|
|
2194
2353
|
|
|
2195
2354
|
|
|
2196
2355
|
class VoxelIndex(NodeBuilder):
|
|
2197
|
-
"""
|
|
2356
|
+
"""
|
|
2357
|
+
Retrieve the integer coordinates of the voxel that the field is evaluated on
|
|
2358
|
+
"""
|
|
2198
2359
|
|
|
2199
2360
|
_bl_idname = "GeometryNodeInputVoxelIndex"
|
|
2200
2361
|
node: bpy.types.GeometryNodeInputVoxelIndex
|