misc_nodes_socket_templates.py 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. from .base_definitions import MantisSocketTemplate as SockTemplate
  2. from dataclasses import replace
  3. SplineIndexTemplate = SockTemplate(name="Spline Index",
  4. bl_idname='UnsignedIntSocket', is_input=True, default_value=0,)
  5. MatrixFromCurveSockets=[
  6. CurveTemplate := SockTemplate(name="Curve", bl_idname='EnumCurveSocket',
  7. is_input=True,),
  8. SplineIndexTemplate,
  9. TotalDivisionsTemplate := SockTemplate(name="Total Divisions",
  10. bl_idname='UnsignedIntSocket', is_input=True, default_value=0,),
  11. MatrixIndexTemplate := SockTemplate(name="Matrix Index",
  12. bl_idname='UnsignedIntSocket', is_input=True, default_value=0,),
  13. MatrixOutTemplate := SockTemplate(
  14. name="Matrix", is_input=False, bl_idname='MatrixSocket', ),
  15. ]
  16. MatricesOutTemplate = replace(MatrixOutTemplate,
  17. name='Matrices', use_multi_input=True)
  18. MatricesFromCurveSockets=MatrixFromCurveSockets.copy()
  19. MatricesFromCurveSockets[4] = MatricesOutTemplate
  20. MatricesFromCurveSockets.pop(3)
  21. MatrixFromCurveSegmentSockets=[
  22. CurveTemplate,
  23. SplineIndexTemplate,
  24. SegmentIndexTemplate := replace(SplineIndexTemplate, name="Segment Index"),
  25. MatrixOutTemplate,
  26. ]
  27. PointFromCurveSockets=[
  28. CurveTemplate,
  29. SplineIndexTemplate,
  30. FactorTemplate := SockTemplate(name="Factor", bl_idname='FloatFactorSocket',
  31. is_input=True,),
  32. PointOutTemplate := SockTemplate(name="Point", bl_idname="VectorSocket",
  33. is_input=False, )
  34. ]
  35. GetCurvePointSockets=[
  36. CurveTemplate,
  37. SplineIndexTemplate,
  38. IndexTemplate := SockTemplate(name="Index",
  39. bl_idname='UnsignedIntSocket', is_input=True, default_value=0,),
  40. OutputPointTemplate := SockTemplate(name="Point",
  41. bl_idname='VectorSocket', is_input=False,),
  42. OutputLeftHandleTemplate := SockTemplate(name="Left Handle",
  43. bl_idname='VectorSocket', is_input=False, hide=True),
  44. OutputRightHandleTemplate := SockTemplate(name="Right Handle",
  45. bl_idname='VectorSocket', is_input=False, hide=True),
  46. ]
  47. GetNearestFactorOnCurveSockets=[
  48. CurveTemplate,
  49. SplineIndexTemplate,
  50. ReferencePointTemplate := SockTemplate(name="Reference Point",
  51. bl_idname='VectorSocket', is_input=True,),
  52. OutputFactorTemplate := SockTemplate(name="Factor",
  53. bl_idname='FloatSocket', is_input=False,),
  54. ]
  55. MatrixInvertSockets=[
  56. Matrix1Template := SockTemplate(
  57. name="Matrix 1", is_input=True, bl_idname='MatrixSocket', ),
  58. MatrixOutTemplate,
  59. ]
  60. MatrixComposeSockets=[
  61. XBasisVector := SockTemplate(
  62. name="X Basis Vector", is_input=True, bl_idname='VectorSocket',
  63. default_value = (1.0, 0.0, 0.0) ),
  64. YBasisVector := replace(XBasisVector, name="Y Basis Vector",
  65. default_value = (0.0, 1.0, 0.0) ),
  66. ZBasisVector := replace(XBasisVector, name="Z Basis Vector",
  67. default_value = (0.0, 0.0, 1.0) ),
  68. Translation := replace(XBasisVector, name="Translation"),
  69. MatrixOutTemplate,
  70. ]
  71. MatrixAlignRollSockets=[
  72. MatrixInTemplate := replace(Matrix1Template, name="Matrix"),
  73. AlignVector := SockTemplate(name="Alignment Vector", is_input=True,
  74. bl_idname='VectorSocket', default_value=(0.0,-1.0,0.0)),
  75. MatrixOutTemplate,
  76. ]
  77. CompareSockets = [
  78. ComparisonOperation := SockTemplate( name='Comparison',
  79. is_input=True, bl_idname="EnumCompareOperation",
  80. default_value="EQUAL",),
  81. WildcardATemplate := SockTemplate(
  82. name="A", is_input=True, bl_idname='WildcardSocket', ),
  83. WildcardBTemplate := replace(WildcardATemplate, name="B"),
  84. CompareOutputTemplate := SockTemplate(
  85. name="Result", is_input=False, bl_idname="BooleanSocket",),
  86. ]