[prev in list] [next in list] [prev in thread] [next in thread] 

List:       osflash-sandy
Subject:    [Sandy] [sandy commit] r693 - trunk/sandy/as3/trunk/src/sandy/parser
From:       codesite-noreply () google ! com (codesite-noreply at google ! com)
Date:       2008-07-20 23:14:23
Message-ID: 001485f91c4055ffc404527cc0a4 () google ! com
[Download RAW message or body]

Author: makc.the.great
Date: Sun Jul 20 16:13:45 2008
New Revision: 693

Modified:
   trunk/sandy/as3/trunk/src/sandy/parser/ColladaParser.as

Log:
1. split(" ") -> split(/\s+/)
2. hack to parse url-ed nodes

Modified: trunk/sandy/as3/trunk/src/sandy/parser/ColladaParser.as
==============================================================================
--- trunk/sandy/as3/trunk/src/sandy/parser/ColladaParser.as	(original)
+++ trunk/sandy/as3/trunk/src/sandy/parser/ColladaParser.as	Sun Jul 20 
16:13:45 2008
@@ -70,7 +70,7 @@
 		 * Default path for COLLADA images.
 		 * <p>Can this be done without??</p>
 		 */
-		public var RELATIVE_TEXTURE_PATH : String;
+		public var RELATIVE_TEXTURE_PATH : String = ".";

 		/**
 		 * Creates a new COLLADA parser instance.
@@ -289,6 +289,24 @@
 				if( l_oChildNode != null )
 					l_oNode.addChild( l_oChildNode );
 			}
+
+			// quick hack to get url-ed nodes parsed
+			if( p_oNode.child( "instance_node" ).length() != 0 )
+			{
+				var l_sNodeId:String = p_oNode.instance_node. at url;
+				if ((l_sNodeId != "") && (l_sNodeId.charAt(0) == "#"))
+				{
+					l_sNodeId = l_sNodeId.substr(1);
+					var l_oMatchingNodes:XMLList = m_oCollada.library_nodes.node.( 
@id == l_sNodeId );
+					for each ( var l_oMatchingNode:XML in l_oMatchingNodes ) {
+						var l_oNode3D:Node = parseNode( l_oMatchingNode );
+						// -- add the shape to the group node
+						if( l_oNode3D != null )
+							l_oNode.addChild( l_oNode3D );
+					}
+				}
+			}
+
 			//l_oShape.matrix = l_oMatrix;
 			return l_oNode;
 		}
@@ -409,7 +427,7 @@
 		 */
  		private function getFloatArray( p_sSourceID : String, p_oGeometry : 
XMLList ) : Array
 		{
-			var l_aFloatArray : Array = p_oGeometry..source.( @id == 
p_sSourceID ).float_array.split(" ");
+			var l_aFloatArray : Array = p_oGeometry..source.( @id == 
p_sSourceID ).float_array.split(/\s+/);
 			var l_nCount:uint = p_oGeometry..source.( @id == p_sSourceID ).technique_common.accessor. at count;
 			var l_nOffset:uint = p_oGeometry..source.( @id == p_sSourceID ).technique_common.accessor. at stride;

@@ -497,7 +515,7 @@
 		 */
 		private function stringToArray( p_sValues : String ) : Array
 		{
-			var l_aValues : Array = p_sValues.split(" ");
+			var l_aValues : Array = p_sValues.split(/\s+/);
 			var l_nValues : int = l_aValues.length;

 			for( var i:int = 0; i < l_nValues; i++ )
@@ -516,7 +534,7 @@
 		 */
 		private function stringToVector( p_sValues : String ) : Vector
 		{
-			var l_aValues : Array = p_sValues.split(" ");
+			var l_aValues : Array = p_sValues.split(/\s+/);
 			var l_nValues : int = l_aValues.length;
 			// --
 			if( l_nValues != 3 )
@@ -533,7 +551,7 @@
 		 */
 		private function stringToMatrix( p_sValues : String ) : Matrix4
 		{
-			var l_aValues : Array = p_sValues.split(" ");
+			var l_aValues : Array = p_sValues.split(/\s+/);
 			var l_nValues : int = l_aValues.length;

 			if( l_nValues != 16 )


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic