Files
armorpaint/Sources/arm/logicnode/VectorMathNode.hx
T

49 lines
837 B
Haxe
Raw Normal View History

2018-02-26 16:59:45 +01:00
package arm.logicnode;
import armory.logicnode.LogicNode;
import armory.logicnode.LogicTree;
import iron.math.Vec4;
2018-06-20 19:23:49 +02:00
@:keep
2018-02-26 16:59:45 +01:00
class VectorMathNode extends LogicNode {
public var property0:String;
var v = new Vec4();
public function new(tree:LogicTree) {
super(tree);
}
override function get(from:Int):Dynamic {
var v1:Vec4 = inputs[0].get();
var v2:Vec4 = inputs[1].get();
v.setFrom(v1);
var f = 0.0;
switch (property0) {
case "Add":
v.add(v2);
case "Subtract":
v.sub(v2);
case "Average":
v.add(v2);
v.x *= 0.5;
v.y *= 0.5;
v.z *= 0.5;
case "Dot Product":
f = v.dot(v2);
v.set(f, f, f);
case "Cross Product":
v.cross(v2);
case "Normalize":
v.normalize();
case "Multiply":
v.x *= v2.x;
v.y *= v2.y;
v.z *= v2.z;
}
if (from == 0) return v;
else return f;
}
}