Browse Source

added Joint.getObjectByName

ncannasse 7 years ago
parent
commit
33cc744822
1 changed files with 19 additions and 0 deletions
  1. 19 0
      h3d/scene/Skin.hx

+ 19 - 0
h3d/scene/Skin.hx

@@ -13,6 +13,25 @@ class Joint extends Object {
 		this.index = j.index;
 	}
 
+	override function getObjectByName(name:String) {
+		var sk = skin.getSkinData();
+		var j = sk.namedJoints.get(name);
+		if( j == null )
+			return null;
+		var cur = sk.allJoints[index];
+		if( cur.index != index ) throw "assert";
+		var jp = j.parent;
+		while( jp != null ) {
+			if( jp == cur ) {
+				var jo = new Joint(skin, j);
+				jo.parent = this;
+				return jo;
+			}
+			jp = jp.parent;
+		}
+		return null;
+	}
+
 	@:access(h3d.scene.Skin)
 	override function syncPos() {
 		// check if one of our parents has changed