deformer_socket_templates.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from .base_definitions import MantisSocketTemplate as SockTemplate
  2. from dataclasses import replace
  3. from .misc_nodes_socket_templates import SplineIndexTemplate
  4. Target = SockTemplate(name="Target", bl_idname='xFormSocket',
  5. is_input=True,
  6. )
  7. HookSockets= [
  8. DeformerInput := SockTemplate(name="Deformer", bl_idname='DeformerSocket',
  9. is_input=True,),
  10. HookTarget := replace(Target, name="Hook Target"),
  11. replace(SplineIndexTemplate,),
  12. CurvePointIndex := SockTemplate(name="Point Index", bl_idname='UnsignedIntSocket',
  13. is_input=True, default_value=0 ),
  14. Influence := SockTemplate(name="Influence", bl_idname='FloatFactorSocket',
  15. is_input=True, default_value=1.0, blender_property='strength'),
  16. HookDrivesRadius := SockTemplate(name="Affect Curve Radius", bl_idname='BooleanSocket',
  17. is_input=True, default_value=True,),
  18. HookAutoBezier := SockTemplate(name="Auto-Bezier", bl_idname='BooleanSocket',
  19. is_input=True, default_value=True,),
  20. DeformerOutput := SockTemplate(name="Deformer", bl_idname='DeformerSocket',
  21. is_input=False,),
  22. ]
  23. SurfaceDeformSockets= [
  24. DeformerInput,
  25. SurfaceDeformTarget := replace(Target, name="Target",),
  26. Falloff := SockTemplate(name="Falloff", bl_idname='FloatSocket',
  27. is_input=True, default_value=4.0, blender_property="falloff", ),
  28. Strength := replace(Influence, name="Strength", bl_idname='FloatSocket',
  29. is_input=True, default_value=1.0, blender_property='strength'),
  30. VertexGroup := SockTemplate(name="Vertex Group", bl_idname='StringSocket',
  31. is_input=True, default_value="", blender_property="vertex_group"),
  32. InvertVertexGroup := SockTemplate(name="Invert Vertex Group", bl_idname='BooleanSocket',
  33. is_input=True, default_value=False, blender_property="invert_vertex_group"),
  34. SparseBind := SockTemplate(name="Sparse Bind", bl_idname='BooleanSocket',
  35. is_input=True, default_value=False, blender_property="use_sparse_bind"),
  36. DeformerOutput,
  37. ]
  38. MeshDeformSockets= [
  39. DeformerInput := SockTemplate(name="Deformer", bl_idname='DeformerSocket',
  40. is_input=True,),
  41. MeshDeformTarget := replace(Target, name="Object",),
  42. VertexGroup,
  43. InvertVertexGroup,
  44. MeshDeformPrecision := SockTemplate(name="Precision", bl_idname='UnsignedIntSocket',
  45. is_input=True, default_value=4, blender_property="precision"),
  46. DynamicBind := SockTemplate(name="Dynamic Bind", bl_idname='BooleanSocket',
  47. is_input=True, default_value=False, blender_property="use_dynamic_bind"),
  48. DeformerOutput,
  49. ]
  50. LatticeDeformSockets = [
  51. DeformerInput := SockTemplate(name="Deformer", bl_idname='DeformerSocket',
  52. is_input=True,),
  53. LatticeDeformTarget := replace(Target, name="Object",),
  54. VertexGroup,
  55. InvertVertexGroup,
  56. Strength := replace(Strength, bl_idname='FloatFactorSocket',),
  57. DeformerOutput,
  58. ]