# Math Nodes

<details>

<summary>Add</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: number

**Editor Settings**

pinId: Operand B\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Subtract</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: number

**Editor Settings**

pinId: Operand B\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Multiply</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: number

**Editor Settings**

pinId: Operand B\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Divide</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: number

**Editor Settings**

pinId: Operand B\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Quotient\
dataType: number\
userData:

**Editor Settings**

pinId: Whole\
dataType: number\
userData:

**Editor Settings**

pinId: Remainder\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Convert Degrees to Radians</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Convert Radians to Degrees</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Trigonometry - Cos/Sin/Tan</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Cosine\
dataType: number\
userData:

**Editor Settings**

pinId: Sine\
dataType: number\
userData:

**Editor Settings**

pinId: Tangent\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Trigonometry - ArcSin/ArcCos</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: number

**Editor Settings**

**Output Pins**

pinId: ArcCosine\
dataType: number\
userData:

**Editor Settings**

pinId: ArcSine\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Trigonometry - ArcTan</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: number

**Editor Settings**

pinId: Operand B\
dataType: number

**Editor Settings**

**Output Pins**

pinId: ArcTangent\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Get Pi</summary>

**Output Pins**

pinId: Get Pi\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Get Vector Axis Value</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Vector

**Input Pins**

pinId: Vector\
dataType: vector3

**Editor Settings**

**Output Pins**

pinId: X\
dataType: number\
userData:

**Editor Settings**

pinId: Y\
dataType: number\
userData:

**Editor Settings**

pinId: Z\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Add_Vectors</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: vector3

**Editor Settings**

pinId: Operand B\
dataType: vector3

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: vector3\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Subtract Vectors</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: vector3

**Editor Settings**

pinId: Operand B\
dataType: vector3

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: vector3\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Scale Vectors</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Vector\
Scalar

**Input Pins**

pinId: Vector\
dataType: vector3

**Editor Settings**

pinId: Scalar\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: vector3\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Vector Dot Product</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: vector3

**Editor Settings**

pinId: Operand B\
dataType: vector3

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Vector Cross Product</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: vector3

**Editor Settings**

pinId: Operand B\
dataType: vector3

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: vector3\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Get Vector Length</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Vector

**Input Pins**

pinId: Vector\
dataType: vector3

**Editor Settings**

**Output Pins**

pinId: Length\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Normalize Vector</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Vector

**Input Pins**

pinId: Vector\
dataType: vector3

**Editor Settings**

**Output Pins**

pinId: Normalized Vector\
dataType: vector3\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Random</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Min\
Max

**Input Pins**

pinId: Min\
dataType: number

**Editor Settings**

pinId: Max\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Random Boolean</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Percent Weighting

**Input Pins**

pinId: Percent Weighting\
dataType: number

**Editor Settings**

MinRange: 0\
MaxRange: 100\
Step: 0.5\
defaultValue: Float: 0

**Output Pins**

pinId: Result\
dataType: bool\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Boolean Logic</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand A\
Operand B

**Input Pins**

pinId: Operand A\
dataType: bool

**Editor Settings**

pinId: Operand B\
dataType: bool

**Editor Settings**

**Output Pins**

pinId: AND\
dataType: bool\
userData:

**Editor Settings**

pinId: OR\
dataType: bool\
userData:

**Editor Settings**

pinId: XOR\
dataType: bool\
userData:

**Editor Settings**

nodeVersionRule: ruleID: NodeVersionRuleUpdatePinProperty\
nodeOperations: operation: Add\\

pinId: XOR

**Editor Settings**

**Node Category: Logic\\**

</details>

<details>

<summary>Boolean NOT</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: bool

**Editor Settings**

**Output Pins**

pinId: NOT\
dataType: bool\
userData:

**Editor Settings**

**Node Category: Logic\\**

</details>

<details>

<summary>Aboslute Value</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Round to Whole Number</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Round Up\
dataType: number\
userData:

**Editor Settings**

pinId: Nearest\
dataType: number\
userData:

**Editor Settings**

pinId: Round Down\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Square Root</summary>

**Node Rules**

ruleID: RequiredNodeInput\
RequiredProperties: Operand

**Input Pins**

pinId: Operand\
dataType: number

**Editor Settings**

**Output Pins**

pinId: Result\
dataType: number\
userData:

**Editor Settings**

**Node Category: Math\\**

</details>

<details>

<summary>Get Random Rotation</summary>

**Output Pins**

pinId: Rotation\
dataType: vector3\
userData:

**Editor Settings**

**Node Category: Math**

</details>
