Browse Source

- Matrix front, right and up getters
- h2d.col.Point.scale returns the point

Fl0xer 7 years ago
parent
commit
c22a9d82d6
2 changed files with 20 additions and 2 deletions
  1. 2 1
      h2d/col/Point.hx
  2. 18 1
      h3d/Matrix.hx

+ 2 - 1
h2d/col/Point.hx

@@ -40,7 +40,7 @@ class Point {
 	public inline function dot( p : Point ) {
 		return x * p.x + y * p.y;
 	}
-	
+
 	public inline function rotate( angle : Float ) {
 		var c = Math.cos(angle);
 		var s = Math.sin(angle);
@@ -80,6 +80,7 @@ class Point {
 	public inline function scale( f : Float ) {
 		x *= f;
 		y *= f;
+		return this;
 	}
 
 	public inline function clone() {

+ 18 - 1
h3d/Matrix.hx

@@ -455,6 +455,24 @@ class Matrix {
 		_44 = 1;
 	}
 
+	public inline function front() {
+        var v = new h3d.Vector(_11, _12, _13);
+        v.normalizeFast();
+        return v;
+    }
+
+    public inline function right() {
+        var v = new h3d.Vector(_21, _22, _23);
+        v.normalizeFast();
+        return v;
+    }
+
+    public inline function up() {
+        var v = new h3d.Vector(_31, _32, _33);
+        v.normalizeFast();
+        return v;
+    }
+
 	public function transpose() {
 		var tmp;
 		tmp = _12; _12 = _21; _21 = tmp;
@@ -722,5 +740,4 @@ class Matrix {
 		m._44 = 1;
 		return m;
 	}
-
 }