misc_nodes_socket_templates.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. YBasisVector := replace(XBasisVector, name="Y Basis Vector"),
  64. ZBasisVector := replace(XBasisVector, name="Z Basis Vector"),
  65. Translation := replace(XBasisVector, name="Translation"),
  66. MatrixOutTemplate,
  67. ]
  68. CompareSockets = [
  69. ComparisonOperation := SockTemplate( name='Comparison',
  70. is_input=True, bl_idname="EnumCompareOperation",
  71. default_value="EQUAL",),
  72. WildcardATemplate := SockTemplate(
  73. name="A", is_input=True, bl_idname='WildcardSocket', ),
  74. WildcardBTemplate := replace(WildcardATemplate, name="B"),
  75. CompareOutputTemplate := SockTemplate(
  76. name="Result", is_input=False, bl_idname="BooleanSocket",),
  77. ]