mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:50:33 +08:00
Dot and cross product nodes
This commit is contained in:
@@ -323,6 +323,26 @@ const tests = [
|
||||
development: false,
|
||||
variadic: false,
|
||||
},
|
||||
{
|
||||
name: "SIN",
|
||||
value: String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_26" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Temp/Untitled_1.Untitled_1:PersistentLevel.Untitled.EventGraph.K2Node_CallFunction_26"'
|
||||
bIsPureFunc=True
|
||||
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.KismetMathLibrary"',MemberName="Sin")
|
||||
NodePosX=-256
|
||||
NodePosY=-256
|
||||
NodeGuid=FE2CD3AF6DF14671A45FB273B5DDDF8E
|
||||
CustomProperties Pin (PinId=E48C5BE04F244CCFA93C5DF17AA41727,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nKismet Math Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.KismetMathLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/Engine.Default__KismetMathLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=ED71A80DC02B45518D8D016209E95FB6,PinName="A",PinToolTip="A\nFloat (double-precision)",PinType.PinCategory="real",PinType.PinSubCategory="double",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=B89EE79C0898454BB00D8335BE922ED3,PinName="ReturnValue",PinToolTip="Return Value\nFloat (double-precision)\n\nReturns the sine of A (expects Radians)",Direction="EGPD_Output",PinType.PinCategory="real",PinType.PinSubCategory="double",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`,
|
||||
size: [12, 3],
|
||||
pins: 2,
|
||||
delegate: false,
|
||||
development: false,
|
||||
variadic: false,
|
||||
},
|
||||
]
|
||||
|
||||
generateNodeTests(tests)
|
||||
|
||||
33
dist/ueblueprint.js
vendored
33
dist/ueblueprint.js
vendored
@@ -3605,6 +3605,12 @@ class ObjectEntity extends IEntity {
|
||||
if (memberName.startsWith("Conv_")) {
|
||||
return "" // Conversion nodes do not have visible names
|
||||
}
|
||||
if (memberName.startsWith("Cross_")) {
|
||||
return "cross"
|
||||
}
|
||||
if (memberName.startsWith("Dot_")) {
|
||||
return "dot"
|
||||
}
|
||||
if (memberName.startsWith("EqualEqual_")) {
|
||||
return "=="
|
||||
}
|
||||
@@ -3654,6 +3660,13 @@ class ObjectEntity extends IEntity {
|
||||
case "Not_PreBool": return "NOT"
|
||||
case "Sqrt": return "SQRT"
|
||||
case "Square": return "^2"
|
||||
// Dot products not repecting MemberName pattern
|
||||
case "CrossProduct2D": return "cross"
|
||||
case "Vector4_CrossProduct3": return "cross3"
|
||||
case "DotProduct2D":
|
||||
case "Vector4_DotProduct":
|
||||
return "dot"
|
||||
case "Vector4_DotProduct3": return "dot3"
|
||||
}
|
||||
break
|
||||
case Configuration.paths.blueprintSetLibrary:
|
||||
@@ -8523,6 +8536,8 @@ class NodeElement extends ISelectableDraggableElement {
|
||||
if (
|
||||
memberName.startsWith("And_")
|
||||
|| memberName.startsWith("Boolean") // Boolean logic operations
|
||||
|| memberName.startsWith("Cross_")
|
||||
|| memberName.startsWith("Dot_")
|
||||
|| memberName.startsWith("Not_")
|
||||
|| memberName.startsWith("Or_")
|
||||
|| memberName.startsWith("Percent_")
|
||||
@@ -8530,22 +8545,38 @@ class NodeElement extends ISelectableDraggableElement {
|
||||
) {
|
||||
return VariableOperationNodeTemplate
|
||||
}
|
||||
switch (nodeEntity.FunctionReference.MemberName) {
|
||||
switch (memberName) {
|
||||
case "Abs":
|
||||
case "Array_Add":
|
||||
case "Array_Add":
|
||||
case "Array_Identical":
|
||||
case "BMax":
|
||||
case "BMin":
|
||||
case "CrossProduct2D":
|
||||
case "DotProduct2D":
|
||||
case "Exp":
|
||||
case "FMax":
|
||||
case "FMin":
|
||||
case "GetPI":
|
||||
case "Max":
|
||||
case "MaxInt64":
|
||||
case "Min":
|
||||
case "MinInt64":
|
||||
case "Sqrt":
|
||||
case "Square":
|
||||
case "Vector4_CrossProduct3":
|
||||
case "Vector4_DotProduct":
|
||||
case "Vector4_DotProduct3":
|
||||
// Trigonometry
|
||||
case "Acos":
|
||||
case "Asin":
|
||||
case "Cos":
|
||||
case "DegAcos":
|
||||
case "DegCos":
|
||||
case "DegSin":
|
||||
case "DegTan":
|
||||
case "Sin":
|
||||
case "Tan":
|
||||
return VariableOperationNodeTemplate
|
||||
}
|
||||
}
|
||||
|
||||
6
dist/ueblueprint.min.js
vendored
6
dist/ueblueprint.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -118,6 +118,8 @@ export default class NodeElement extends ISelectableDraggableElement {
|
||||
if (
|
||||
memberName.startsWith("And_")
|
||||
|| memberName.startsWith("Boolean") // Boolean logic operations
|
||||
|| memberName.startsWith("Cross_")
|
||||
|| memberName.startsWith("Dot_")
|
||||
|| memberName.startsWith("Not_")
|
||||
|| memberName.startsWith("Or_")
|
||||
|| memberName.startsWith("Percent_")
|
||||
@@ -125,22 +127,38 @@ export default class NodeElement extends ISelectableDraggableElement {
|
||||
) {
|
||||
return VariableOperationNodeTemplate
|
||||
}
|
||||
switch (nodeEntity.FunctionReference.MemberName) {
|
||||
switch (memberName) {
|
||||
case "Abs":
|
||||
case "Array_Add":
|
||||
case "Array_Add":
|
||||
case "Array_Identical":
|
||||
case "BMax":
|
||||
case "BMin":
|
||||
case "CrossProduct2D":
|
||||
case "DotProduct2D":
|
||||
case "Exp":
|
||||
case "FMax":
|
||||
case "FMin":
|
||||
case "GetPI":
|
||||
case "Max":
|
||||
case "MaxInt64":
|
||||
case "Min":
|
||||
case "MinInt64":
|
||||
case "Sqrt":
|
||||
case "Square":
|
||||
case "Vector4_CrossProduct3":
|
||||
case "Vector4_DotProduct":
|
||||
case "Vector4_DotProduct3":
|
||||
// Trigonometry
|
||||
case "Acos":
|
||||
case "Asin":
|
||||
case "Cos":
|
||||
case "DegAcos":
|
||||
case "DegCos":
|
||||
case "DegSin":
|
||||
case "DegTan":
|
||||
case "Sin":
|
||||
case "Tan":
|
||||
return VariableOperationNodeTemplate
|
||||
}
|
||||
}
|
||||
|
||||
@@ -681,6 +681,12 @@ export default class ObjectEntity extends IEntity {
|
||||
if (memberName.startsWith("Conv_")) {
|
||||
return "" // Conversion nodes do not have visible names
|
||||
}
|
||||
if (memberName.startsWith("Cross_")) {
|
||||
return "cross"
|
||||
}
|
||||
if (memberName.startsWith("Dot_")) {
|
||||
return "dot"
|
||||
}
|
||||
if (memberName.startsWith("EqualEqual_")) {
|
||||
return "=="
|
||||
}
|
||||
@@ -730,6 +736,13 @@ export default class ObjectEntity extends IEntity {
|
||||
case "Not_PreBool": return "NOT"
|
||||
case "Sqrt": return "SQRT"
|
||||
case "Square": return "^2"
|
||||
// Dot products not respecting MemberName pattern
|
||||
case "CrossProduct2D": return "cross"
|
||||
case "Vector4_CrossProduct3": return "cross3"
|
||||
case "DotProduct2D":
|
||||
case "Vector4_DotProduct":
|
||||
return "dot"
|
||||
case "Vector4_DotProduct3": return "dot3"
|
||||
}
|
||||
break
|
||||
case Configuration.paths.blueprintSetLibrary:
|
||||
|
||||
Reference in New Issue
Block a user