deformer_socket_templates.py 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. ]
  59. SmoothDeformSockets = [
  60. DeformerInput,
  61. Factor := replace(Influence, name="Factor", bl_idname='FloatSocket',
  62. default_value=1.0, blender_property='factor'),
  63. iterations := SockTemplate(name='Iterations', bl_idname="UnsignedIntSocket",
  64. is_input=True, default_value=5, blender_property='iterations'),
  65. # SmoothType :=SockTemplate(name="Length Weighted Smoothing", bl_idname="BooleanSocket",
  66. # is_input=True, default_value=False, ),
  67. # TODO: should be possible to drive this property by an int...
  68. OnlySmooth := SockTemplate(name="Only Smooth", bl_idname="BooleanSocket",
  69. is_input=True, default_value=True, blender_property="use_only_smooth"),
  70. PinBoundary := SockTemplate(name="Pin Boundary", bl_idname="BooleanSocket",
  71. is_input=True, default_value=False, blender_property="use_pin_boundary"),
  72. VertexGroup,
  73. InvertVertexGroup,
  74. DeformerOutput,
  75. ]