deformer_socket_templates.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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. SparseBind := SockTemplate(name="Sparse Bind", bl_idname='BooleanSocket',
  31. is_input=True, default_value=False, blender_property="use_sparse_bind"),
  32. VertexGroup := SockTemplate(name="Vertex Group", bl_idname='StringSocket',
  33. is_input=True, default_value="", blender_property="vertex_group"),
  34. InvertVertexGroup := SockTemplate(name="Invert Vertex Group", bl_idname='BooleanSocket',
  35. is_input=True, default_value=False, blender_property="invert_vertex_group"),
  36. EnableViewportTemplate := SockTemplate(
  37. name="Enable in Viewport", is_input=True, bl_idname='EnableSocket',
  38. default_value=True, blender_property='show_viewport'),
  39. EnableRenderTemplate := SockTemplate(
  40. name="Enable in Render", is_input=True, bl_idname='BooleanSocket',
  41. default_value=True, blender_property='show_render'),
  42. DeformerOutput,
  43. ]
  44. MeshDeformSockets= [
  45. DeformerInput := SockTemplate(name="Deformer", bl_idname='DeformerSocket',
  46. is_input=True,),
  47. MeshDeformTarget := replace(Target, name="Object",),
  48. MeshDeformPrecision := SockTemplate(name="Precision", bl_idname='UnsignedIntSocket',
  49. is_input=True, default_value=4, blender_property="precision"),
  50. DynamicBind := SockTemplate(name="Dynamic Bind", bl_idname='BooleanSocket',
  51. is_input=True, default_value=False, blender_property="use_dynamic_bind"),
  52. VertexGroup,
  53. InvertVertexGroup,
  54. EnableViewportTemplate,
  55. EnableRenderTemplate,
  56. DeformerOutput,
  57. ]
  58. LatticeDeformSockets = [
  59. DeformerInput := SockTemplate(name="Deformer", bl_idname='DeformerSocket',
  60. is_input=True,),
  61. LatticeDeformTarget := replace(Target, name="Object",),
  62. Strength := replace(Strength, bl_idname='FloatFactorSocket',),
  63. VertexGroup,
  64. InvertVertexGroup,
  65. EnableViewportTemplate,
  66. EnableRenderTemplate,
  67. DeformerOutput,
  68. ]
  69. SmoothDeformSockets = [
  70. DeformerInput,
  71. Factor := replace(Influence, name="Factor", bl_idname='FloatSocket',
  72. default_value=0.5, blender_property='factor'),
  73. iterations := SockTemplate(name='Iterations', bl_idname="UnsignedIntSocket",
  74. is_input=True, default_value=4, blender_property='iterations'),
  75. SmoothType :=SockTemplate(name="Smoothing Type", bl_idname="EnumCorrectiveSmoothTypeSocket",
  76. is_input=True, blender_property="smooth_type" ),
  77. PinBoundary := SockTemplate(name="Pin Boundary", bl_idname="BooleanSocket",
  78. is_input=True, default_value=False, blender_property="use_pin_boundary"),
  79. OnlySmooth := SockTemplate(name="Use Corrective Smooth", bl_idname="InvertedBooleanSocket",
  80. is_input=True, default_value=True, blender_property="use_only_smooth"),
  81. DeltaMushScale := SockTemplate(name="Corrective Smooth Scale", bl_idname="FloatSocket",
  82. is_input=True, default_value=1.0, blender_property="scale", category='corrective_smooth' ),
  83. VertexGroup,
  84. InvertVertexGroup,
  85. EnableViewportTemplate,
  86. EnableRenderTemplate,
  87. DeformerOutput,
  88. ]