misc_nodes_socket_templates.py 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. from .mantis_dataclasses 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. InputWidgetSockets = [
  6. WidgetName := SockTemplate(name='Name', is_input=True,
  7. bl_idname="EnumWidgetLibrarySocket",),
  8. Scale := SockTemplate(name='Scale', is_input=True,
  9. bl_idname="VectorScaleSocket", default_value=(1.0, 1.0, 1.0)),
  10. FlipAxes := SockTemplate(name='Flip Axes', is_input=True,
  11. bl_idname="BooleanThreeTupleSocket",),
  12. xFormOutput := SockTemplate(name='Widget',
  13. bl_idname='xFormSocket',is_input=False),
  14. ]
  15. MatrixFromCurveSockets=[
  16. CurveTemplate := SockTemplate(name="Curve", bl_idname='EnumCurveSocket',
  17. is_input=True,),
  18. SplineIndexTemplate,
  19. TotalDivisionsTemplate := SockTemplate(name="Total Divisions",
  20. bl_idname='UnsignedIntSocket', is_input=True, default_value=0,),
  21. MatrixIndexTemplate := SockTemplate(name="Matrix Index",
  22. bl_idname='UnsignedIntSocket', is_input=True, default_value=0,),
  23. MatrixOutTemplate := SockTemplate(
  24. name="Matrix", is_input=False, bl_idname='MatrixSocket', ),
  25. ]
  26. MatricesOutTemplate = replace(MatrixOutTemplate,
  27. name='Matrices', use_multi_input=True)
  28. MatricesFromCurveSockets=MatrixFromCurveSockets.copy()
  29. MatricesFromCurveSockets[4] = MatricesOutTemplate
  30. MatricesFromCurveSockets.pop(3)
  31. MatrixFromCurveSegmentSockets=[
  32. CurveTemplate,
  33. SplineIndexTemplate,
  34. SegmentIndexTemplate := replace(SplineIndexTemplate, name="Segment Index"),
  35. MatrixOutTemplate,
  36. ]
  37. PointFromCurveSockets=[
  38. CurveTemplate,
  39. SplineIndexTemplate,
  40. FactorTemplate := SockTemplate(name="Factor", bl_idname='FloatFactorSocket',
  41. is_input=True,),
  42. PointOutTemplate := SockTemplate(name="Point", bl_idname="VectorSocket",
  43. is_input=False, )
  44. ]
  45. GetCurvePointSockets=[
  46. CurveTemplate,
  47. SplineIndexTemplate,
  48. IndexTemplate := SockTemplate(name="Index",
  49. bl_idname='UnsignedIntSocket', is_input=True, default_value=0,),
  50. OutputPointTemplate := SockTemplate(name="Point",
  51. bl_idname='VectorSocket', is_input=False,),
  52. OutputLeftHandleTemplate := SockTemplate(name="Left Handle",
  53. bl_idname='VectorSocket', is_input=False, hide=True),
  54. OutputRightHandleTemplate := SockTemplate(name="Right Handle",
  55. bl_idname='VectorSocket', is_input=False, hide=True),
  56. ]
  57. GetNearestFactorOnCurveSockets=[
  58. CurveTemplate,
  59. SplineIndexTemplate,
  60. ReferencePointTemplate := SockTemplate(name="Reference Point",
  61. bl_idname='VectorSocket', is_input=True,),
  62. OutputFactorTemplate := SockTemplate(name="Factor",
  63. bl_idname='FloatSocket', is_input=False,),
  64. ]
  65. MatrixInvertSockets=[
  66. Matrix1Template := SockTemplate(
  67. name="Matrix 1", is_input=True, bl_idname='MatrixSocket', ),
  68. MatrixOutTemplate,
  69. ]
  70. MatrixComposeSockets=[
  71. XBasisVector := SockTemplate(
  72. name="X Basis Vector", is_input=True, bl_idname='VectorSocket',
  73. default_value = (1.0, 0.0, 0.0) ),
  74. YBasisVector := replace(XBasisVector, name="Y Basis Vector",
  75. default_value = (0.0, 1.0, 0.0) ),
  76. ZBasisVector := replace(XBasisVector, name="Z Basis Vector",
  77. default_value = (0.0, 0.0, 1.0) ),
  78. Translation := replace(XBasisVector, name="Translation"),
  79. MatrixOutTemplate,
  80. ]
  81. MatrixAlignRollSockets=[
  82. MatrixInTemplate := replace(Matrix1Template, name="Matrix"),
  83. AlignVector := SockTemplate(name="Alignment Vector", is_input=True,
  84. bl_idname='VectorSocket', default_value=(0.0,-1.0,0.0)),
  85. MatrixOutTemplate,
  86. ]
  87. CompareSockets = [
  88. ComparisonOperation := SockTemplate( name='Comparison',
  89. is_input=True, bl_idname="EnumCompareOperation",
  90. default_value="EQUAL",),
  91. WildcardATemplate := SockTemplate(
  92. name="A", is_input=True, bl_idname='WildcardSocket', ),
  93. WildcardBTemplate := replace(WildcardATemplate, name="B"),
  94. CompareOutputTemplate := SockTemplate(
  95. name="Result", is_input=False, bl_idname="BooleanSocket",),
  96. ]
  97. NumberOfSplinesSockets=[
  98. CurveTemplate,
  99. NumberOfSplinesOut := SockTemplate(name="Number of Splines",
  100. bl_idname='UnsignedIntSocket', is_input=False),
  101. ]
  102. CollectionJoinSockets = [
  103. JoinCollections := SockTemplate(name='Collections', is_input=True,
  104. bl_idname="BoneCollectionSocket", display_shape='SQUARE_DOT',
  105. use_multi_input=True,),
  106. CollectionDeclarationOutput := SockTemplate(name='Collection',
  107. bl_idname="BoneCollectionSocket", is_input=False,)
  108. ]
  109. CollectionHierarchySockets = [
  110. ParentCollection := SockTemplate(name='Parent Collection', is_input=True,
  111. bl_idname="BoneCollectionSocket",),
  112. ChildCollection := SockTemplate(name='Child Collection', is_input=True,
  113. bl_idname="BoneCollectionSocket",),
  114. CollectionDeclarationOutput,
  115. ]
  116. UtilityCustomPropertySockets = [
  117. Name := SockTemplate(name='Name', is_input=True,
  118. bl_idname="StringSocket", category='general'),
  119. CustomPropType := SockTemplate(name='Type', is_input=True,
  120. bl_idname="EnumCustomPropTypeSocket", category='general'),
  121. # Subtype - add this later
  122. # float properties
  123. DefaultFloatValue := SockTemplate(name='Default (Float)', is_input=True,
  124. bl_idname="FloatSocket", category='float'),
  125. Min := SockTemplate(name='Min (Float)', is_input=True,
  126. bl_idname="FloatSocket", category='float'),
  127. Max := SockTemplate(name='Max (Float)', is_input=True,
  128. bl_idname="FloatSocket", category='float'),
  129. SoftMin := SockTemplate(name='Soft Min (Float)', is_input=True,
  130. bl_idname="FloatSocket", category='float'),
  131. SoftMax := SockTemplate(name='Soft Max (Float)', is_input=True,
  132. bl_idname="FloatSocket", category='float'),
  133. # bool properties
  134. DefaultVectorValue := SockTemplate(name='Default (Bool)', is_input=True,
  135. bl_idname="BooleanSocket", hide=True, category='bool'),
  136. # int properties
  137. DefaultIntValue := SockTemplate(name='Default (Int)', is_input=True,
  138. bl_idname="IntSocket", hide=True, category='int'),
  139. IntMin := SockTemplate(name='Min (Int)', is_input=True,
  140. bl_idname="IntSocket", hide=True, category='int'),
  141. IntMax := SockTemplate(name='Max (Int)', is_input=True,
  142. bl_idname="IntSocket", hide=True, category='int'),
  143. IntSoftMin := SockTemplate(name='Soft Min (Int)', is_input=True,
  144. bl_idname="IntSocket", hide=True, category='int'),
  145. IntSoftMax := SockTemplate(name='Soft Max (Int)', is_input=True,
  146. bl_idname="IntSocket", hide=True, category='int'),
  147. # vector properties
  148. DefaultVectorValue := SockTemplate(name='Default (Vector)', is_input=True,
  149. bl_idname="VectorSocket", hide=True, category='vector'),
  150. # String Properties
  151. DefaultStringValue := SockTemplate(name='Default (String)', is_input=True,
  152. bl_idname="StringSocket", hide=True, category='string'),
  153. # general:
  154. Description := SockTemplate(name='Description', is_input=True,
  155. bl_idname="StringSocket", category='general'),
  156. PropertyDeclaration := SockTemplate(name='Custom Property',
  157. is_input=False, bl_idname="CustomPropSocket", category='general'),
  158. ]