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

List:       osflash-sandy
Subject:    [Sandy] [sandy commit] r905 - in trunk/sandy/haxe/trunk/src/sandy:
From:       codesite-noreply () google ! com (codesite-noreply at google ! com)
Date:       2009-01-12 21:45:30
Message-ID: 000e0cd4cd4e90a2a9046050061f () google ! com
[Download RAW message or body]

Author: cyanescent
Date: Mon Jan 12 13:35:56 2009
New Revision: 905

Modified:
    trunk/sandy/haxe/trunk/src/sandy/core/data/Polygon.hx
    trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/Geometry3D.hx
    trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/StarField.hx
    trunk/sandy/haxe/trunk/src/sandy/events/BubbleEventBroadcaster.hx
     
trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MaterialAttributes.hx
    trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MediumAttributes.hx
    trunk/sandy/haxe/trunk/src/sandy/parser/AParser.hx
    trunk/sandy/haxe/trunk/src/sandy/parser/ColladaParser.hx
    trunk/sandy/haxe/trunk/src/sandy/primitive/Cylinder.hx
    trunk/sandy/haxe/trunk/src/sandy/primitive/Sphere.hx
    trunk/sandy/haxe/trunk/src/sandy/primitive/Torus.hx

Log:
Apparently Std.is is slow, and I discovered some Float that should be Int  
(?).
The tests and examples seem to pass...



Modified: trunk/sandy/haxe/trunk/src/sandy/core/data/Polygon.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/core/data/Polygon.hx	(original)
+++ trunk/sandy/haxe/trunk/src/sandy/core/data/Polygon.hx	Mon Jan 12  
13:35:56 2009
@@ -620,7 +620,13 @@
  	
  	private function _onTextureInteraction( ?p_oEvt:Event ) : Void
  	{
-		if ( p_oEvt == null || !(Std.is(p_oEvt, MouseEvent)) ) p_oEvt = new  
MouseEvent( MouseEvent.MOUSE_MOVE, true, false, 0, 0, null, false, false,  
false, false, 0);
+		var l_bIsMouseEvent : Bool = switch ( Type.typeof( p_oEvt ) ) {
+			case TClass( MouseEvent ):
+				true;
+			default:
+				false;
+		}
+		if ( p_oEvt == null || !l_bIsMouseEvent ) p_oEvt = new MouseEvent(  
MouseEvent.MOUSE_MOVE, true, false, 0, 0, null, false, false, false, false,  
0);
  		
  	    //	get the position of the mouse on the poly
  		var pt2D : Point = new Point( scene.container.mouseX,  
scene.container.mouseY );

Modified: trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/Geometry3D.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/Geometry3D.hx	 
(original)
+++ trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/Geometry3D.hx	Mon Jan  
12 13:35:56 2009
@@ -21,6 +21,7 @@
  import sandy.core.data.Vector;
  import sandy.core.data.Vertex;

+import Type;

  /**
   * 	The Geometry3D class holds a complete description of the geometry of a  
Shape3D.
@@ -217,7 +218,7 @@
  	 * @param...rest 	An array of data containing the ID's of the vertex list  
for the face
  	 * @return 		The next free index or -1 it the index is already occupied
  	 */
-	public function setFaceVertexIds( p_nFaceID:Int, ?arguments:Dynamic ):Int
+	public function setFaceVertexIds( p_nFaceID:Int, ?arguments:Array<Int>  
):Int
  	{
  		if (arguments == null) arguments = [];

@@ -227,7 +228,8 @@
  		}
  		else
  		{
-			var rest:Array<Int> = Std.is(arguments[0], Array )? arguments[0]:  
arguments.splice(0,arguments.length);
+			var rest:Array<Int> = arguments;
+
  			aFacesVertexID[p_nFaceID] = rest;
  			
  			// Time to check if edges allready exist or if we shall create them
@@ -292,7 +294,7 @@
  	 * @param ...rest 	An array of data containing the ID's of the UV coords  
list for the face
  	 * @return 		The next free index or -1 it the index is already occupied
  	 */
-	public function setFaceUVCoordsIds( p_nFaceID:Int, ?arguments:Dynamic  
):Int
+	public function setFaceUVCoordsIds( p_nFaceID:Int, ?arguments:Array<Int>  
):Int
  	{
  		if (arguments == null) arguments = [];

@@ -302,8 +304,7 @@
  		}
  		else
  		{
-			var rest:Array<Int> = Std.is(arguments[0], Array)? arguments[0]:  
arguments.splice(0,arguments.length);
-			aFacesUVCoordsID[p_nFaceID] = rest;
+			aFacesUVCoordsID[p_nFaceID] = arguments;
  			return ++m_nLastFaceUVId - 1;
  		}
  	}

Modified: trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/StarField.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/StarField.hx	(original)
+++ trunk/sandy/haxe/trunk/src/sandy/core/scenegraph/StarField.hx	Mon Jan  
12 13:35:56 2009
@@ -210,7 +210,7 @@
  					c32 = (i < starColors.length) ? starColors [i] : 0xFFFFFFFF;
  					a = Std.int(c32 / 0x1000000 * (1 - r)); c = c32 & 0xFFFFFF;
  					p_oCamera.projectVertex (_v);
-					if ((i < starSprites.length /* avoid array access */) && (Std.is(  
starSprites [i], IBitmapDrawable)))
+					if ((i < starSprites.length /* avoid array access */) )
  					{
  						_vx.copy (_v); _vx.wx++; p_oCamera.projectVertex (_vx);
  						_vy.copy (_v); _vy.wy++; p_oCamera.projectVertex (_vy);
@@ -238,13 +238,11 @@
  						m_oColorTransform.alphaMultiplier = a / 255.0;

  						var star : IBitmapDrawable = starSprites [i];
-						if ( Std.is( star, DisplayObject ) )
-						{
-							m_sBlendMode = untyped star.blendMode;
-						}
-						else
-						{
-							m_sBlendMode = BlendMode.NORMAL;
+						switch ( Type.typeof( star ) ) {
+							case TClass( DisplayObject ):
+								m_sBlendMode = untyped star.blendMode;
+							default:
+								m_sBlendMode = BlendMode.NORMAL;
  						}

  						//suggest the following to makc:

Modified: trunk/sandy/haxe/trunk/src/sandy/events/BubbleEventBroadcaster.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/events/BubbleEventBroadcaster.hx	 
(original)
+++ trunk/sandy/haxe/trunk/src/sandy/events/BubbleEventBroadcaster.hx	Mon  
Jan 12 13:35:56 2009
@@ -18,6 +18,8 @@

  import flash.events.Event;

+import Type;
+
  /**
   * BubbleEventBroadcaster defines a custom event broadcaster to work with.
   *
@@ -79,18 +81,16 @@
  	 */
  	public override function broadcastEvent(e:Event):Void
  	{
-		if (Std.is(e, BubbleEvent))
-		{
-			super.broadcastEvent(e);
-
-			if (parent != null)
-			{
-				parent.broadcastEvent(e);
-			}
-		}
-		else
-		{
-			parent.broadcastEvent(e); // used for regular event dispatching
+		switch ( Type.typeof( e ) ) {
+			case TClass( BubbleEvent ):
+				super.broadcastEvent(e);
+
+				if (parent != null)
+				{
+					parent.broadcastEvent(e);
+				}
+			default:
+				parent.broadcastEvent(e); // used for regular event dispatching
  		}
  	}


Modified:  
trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MaterialAttributes.hx
==============================================================================
---  
trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MaterialAttributes.hx	 
(original)
+++  
trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MaterialAttributes.hx	 
Mon Jan 12 13:35:56 2009
@@ -24,6 +24,8 @@
  import sandy.core.scenegraph.Sprite2D;
  import sandy.materials.Material;

+import Type;
+
  /**
   * The MaterialAttributes class is used to apply one or more attributes to  
a Shape3D object.
   *
@@ -49,9 +51,11 @@

  		for( attr in args )
  		{
-			if( Std.is( attr, IAttributes ) )
-			{
-					attributes.push( untyped attr );
+			switch ( Type.typeof( attr ) ) {
+				case TClass( IAttributes ):
+					attributes.push( cast attr );
+				default:
+					// --
  			}
  		}
  	}

Modified:  
trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MediumAttributes.hx
==============================================================================
---  
trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MediumAttributes.hx	 
(original)
+++  
trunk/sandy/haxe/trunk/src/sandy/materials/attributes/MediumAttributes.hx	 
Mon Jan 12 13:35:56 2009
@@ -227,7 +227,13 @@
          var i:Int = p_oDisplayObject.filters.length -1;
  		while (i > -1)
  		{
-			if (!changed && Std.is(p_oDisplayObject.filters[i], BlurFilter) &&  
(p_oDisplayObject.filters[i].quality == 1))
+			var l_bIsBlurFilter : Bool = switch ( Type.typeof(  
p_oDisplayObject.filters[i] ) ) {
+				case TClass( BlurFilter ):
+					true;
+				default:
+					false;
+			}
+			if (!changed && l_bIsBlurFilter && (p_oDisplayObject.filters[i].quality  
== 1))
  			{
  				var bf:BlurFilter = p_oDisplayObject.filters[i];

@@ -268,4 +274,4 @@
  {
  	var vertex : Vertex;
  	var ratio : Float;
-}
\ No newline at end of file
+}

Modified: trunk/sandy/haxe/trunk/src/sandy/parser/AParser.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/parser/AParser.hx	(original)
+++ trunk/sandy/haxe/trunk/src/sandy/parser/AParser.hx	Mon Jan 12 13:35:56  
2009
@@ -42,6 +42,8 @@
  import sandy.materials.attributes.VertexNormalAttributes;
  import flash.events.ProgressEvent;

+import Type;
+
  /**
   * ABSTRACT CLASS - super class for all parser objects.
   *
@@ -139,13 +141,13 @@
  		dispatchEvent( event );
  	}
  	
-    /**
-     * Load the file that needs to be parsed. When done, call the  
parseData method.
-     */
-    public function parse():Void
+	/**
+	 * Load the file that needs to be parsed. When done, call the parseData  
method.
+	 */
+	public function parse():Void
  	{
-		if( Std.is( m_sUrl, String ) )
-		{
+		switch ( Type.typeof( m_sUrl ) ) {
+			case TClass( String ):
  			// Construction d'un objet URLRequest qui encapsule le chemin d'acces
  			var urlRequest:URLRequest = new URLRequest( m_sUrl );
  			// Ecoute de l'evennement COMPLETE
@@ -155,11 +157,9 @@
  			// Lancer le chargement
  			m_oFileLoader.dataFormat = m_sDataFormat;
  			m_oFileLoader.load(urlRequest);
-		}
-		else
-		{
+		default:
  			parseData();
-		}
+	  }
  	}
  }


Modified: trunk/sandy/haxe/trunk/src/sandy/parser/ColladaParser.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/parser/ColladaParser.hx	(original)
+++ trunk/sandy/haxe/trunk/src/sandy/parser/ColladaParser.hx	Mon Jan 12  
13:35:56 2009
@@ -255,7 +255,7 @@
  		// -- rotate
  		if( Lambda.count( p_oNode.nodes.rotate ) == 1 )
  		{
-			var l_oRotations : Array<Float> = stringToArray(  
p_oNode.node.rotate.innerData );
+			var l_oRotations : Array<Int> = stringToArray(  
p_oNode.node.rotate.innerData );
  			
  			switch (m_oUp)
  			{
@@ -275,7 +275,7 @@
  			var l_oRotateNodes : List<Fast> = p_oNode.nodes.rotate;
  			for( l_oN in l_oRotateNodes )
  			{
-				var l_oRot : Array<Float> = stringToArray( l_oN.innerData );
+				var l_oRot : Array<Int> = stringToArray( l_oN.innerData );

  				switch( l_oN.att.sid.toLowerCase() )
  				{
@@ -381,7 +381,7 @@
  		// -- triangles
  		var l_oTriangles : haxe.xml.Fast = l_oGeometry.node.mesh.node.triangles;
  		if( l_oTriangles == null ) return null;
-		var l_aTriangles : Array<Float> = stringToArray(  
l_oTriangles.node.p.innerData );
+		var l_aTriangles : Array<Int> = stringToArray(  
l_oTriangles.node.p.innerData );
  		var l_sMaterial : String = l_oTriangles.att.material;
  		var l_nCount : Int = Std.parseInt( l_oTriangles.att.count );
  		var l_nStep : Int = Lambda.count( l_oTriangles.nodes.input );
@@ -479,14 +479,14 @@
  		}
  		
  		
-		var l_aTrianglez:Array<Hash<Array<Float>>> = convertTriangleArray(  
l_oTriangles.nodes.input, l_aTriangles, l_nCount );
+		var l_aTrianglez:Array<Hash<Array<Int>>> = convertTriangleArray(  
l_oTriangles.nodes.input, l_aTriangles, l_nCount );
  		var l_nTriangeLength : Int = l_aTrianglez.length;

  		for( i in 0...l_nTriangeLength )
  		{
-			var l_aVertex : Array<Float> = l_aTrianglez[ i ].get( 'VERTEX' );
-			var l_aNormals : Array<Float> = l_aTrianglez[ i ].get( 'NORMAL' );
-			var l_aUVs : Array<Float> = l_aTrianglez[ i ].get( 'TEXCOORD' );
+			var l_aVertex : Array<Int> = l_aTrianglez[ i ].get( 'VERTEX' );
+			var l_aNormals : Array<Int> = l_aTrianglez[ i ].get( 'NORMAL' );
+			var l_aUVs : Array<Int> = l_aTrianglez[ i ].get( 'TEXCOORD' );

  				l_oOutpGeom.setFaceVertexIds( i, [l_aVertex[ 0 ], l_aVertex[ 1 ],  
l_aVertex[ 2 ]] );
  				if( l_aUVs != null ) l_oOutpGeom.setFaceUVCoordsIds( i, [l_aUVs[ 0 ],  
l_aUVs[ 1 ], l_aUVs[ 2 ]] );
@@ -538,10 +538,10 @@
  		return l_aOutput;
  	}

-	private function convertTriangleArray( p_oInput : List<Fast>,  
p_aTriangles : Array<Float>, p_nTriangleCount : Int ) :  
Array<Hash<Array<Float>>>
+	private function convertTriangleArray( p_oInput : List<Fast>,  
p_aTriangles : Array<Int>, p_nTriangleCount : Int ) :  
Array<Hash<Array<Int>>>
  	{
  		var l_nTriangles : Int = p_aTriangles.length;
-		var l_aOutput : Array<Hash<Array<Float>>> = new Array();
+		var l_aOutput : Array<Hash<Array<Int>>> = new Array();
  		var l_nValuesPerTriangle : Int = Std.int( l_nTriangles /  
p_nTriangleCount );
  		var l_nMaxOffset : Int = 0;

@@ -555,7 +555,7 @@
  		// -- iterate through all triangles
  		for( i in 0...p_nTriangleCount )
  		{
-			var semantic : Hash<Array<Float>> = new Hash();
+			var semantic : Hash<Array<Int>> = new Hash();

  			for( j in 0...l_nValuesPerTriangle )
  			{
@@ -580,15 +580,15 @@
  		return l_aOutput;
  	}

-	private function stringToArray( p_sValues : String ) : Array<Float>
+	private function stringToArray( p_sValues : String ) : Array<Int>
  	{
  		//var l_aValues : Array = p_sValues.split(/\s+/);
  		var l_aValues : Array<String> = p_sValues.split(" ");
-		var l_nValues : Array<Float> = new Array();
+		var l_nValues : Array<Int> = new Array();

  		for( l_oV in l_aValues )
  		{
-			l_nValues.push( Std.parseFloat( l_oV ) );
+			l_nValues.push( Std.parseInt( l_oV ) );
  		}

  		return l_nValues;
@@ -788,7 +788,7 @@
  			else if( l_aPhong.length > 0 )
  			{
  				// -- get the ambient color
-				var l_aColors : Array<Float> = stringToArray(  
l_aPhong[0].node.ambient.node.color.innerData );
+				var l_aColors : Array<Int> = stringToArray(  
l_aPhong[0].node.ambient.node.color.innerData );
  				var l_nColor : Int;

  				var r : Int = Std.int( NumberUtil.constrain( l_aColors[0] * 255, 0,  
255 ) );

Modified: trunk/sandy/haxe/trunk/src/sandy/primitive/Cylinder.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/primitive/Cylinder.hx	(original)
+++ trunk/sandy/haxe/trunk/src/sandy/primitive/Cylinder.hx	Mon Jan 12  
13:35:56 2009
@@ -208,7 +208,7 @@

  		var iVerNum:Int = aVtc.length;

-		var aP4uv:Float, aP1uv:Float, aP2uv:Float, aP3uv:Float;
+		var aP4uv:Int, aP1uv:Int, aP2uv:Int, aP3uv:Int;
  		var aP1:Int, aP2:Int, aP3:Int, aP4:Int;
  		var l_oP1:Vertex, l_oP2:Vertex, l_oP3:Vertex;
  		// --

Modified: trunk/sandy/haxe/trunk/src/sandy/primitive/Sphere.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/primitive/Sphere.hx	(original)
+++ trunk/sandy/haxe/trunk/src/sandy/primitive/Sphere.hx	Mon Jan 12  
13:35:56 2009
@@ -151,10 +151,10 @@
  					// select vertices
  					var bEnd:Bool = i==(iHorNum-0);
  					// --
-					var l_nP1:Float = aVtc[j][bEnd?0:i];
-					var l_nP2:Float = aVtc[j][(i==0?iHorNum:i)-1];
-					var l_nP3:Float = aVtc[j-1][(i==0?iHorNum:i)-1];
-					var l_nP4:Float = aVtc[j-1][bEnd?0:i];
+					var l_nP1:Int = aVtc[j][bEnd?0:i];
+					var l_nP2:Int = aVtc[j][(i==0?iHorNum:i)-1];
+					var l_nP3:Int = aVtc[j-1][(i==0?iHorNum:i)-1];
+					var l_nP4:Int = aVtc[j-1][bEnd?0:i];
  					// uv
  					var fJ0:Float = j		/ (iVerNum-1);
  					var fJ1:Float = (j-1)	/ (iVerNum-1);

Modified: trunk/sandy/haxe/trunk/src/sandy/primitive/Torus.hx
==============================================================================
--- trunk/sandy/haxe/trunk/src/sandy/primitive/Torus.hx	(original)
+++ trunk/sandy/haxe/trunk/src/sandy/primitive/Torus.hx	Mon Jan 12 13:35:56  
2009
@@ -162,10 +162,10 @@
  				var vn3:Array<Vector> = torusVertex(a1a, r1, a2b, r2);

  				// -- vertices
-				var l_nP0:Float = l_oGeometry.setVertex(  
l_oGeometry.getNextVertexID(), vn0[0].x, vn0[0].y, vn0[0].z);
-				var l_nP1:Float = l_oGeometry.setVertex(  
l_oGeometry.getNextVertexID(), vn1[0].x, vn1[0].y, vn1[0].z);
-				var l_nP2:Float = l_oGeometry.setVertex(  
l_oGeometry.getNextVertexID(), vn2[0].x, vn2[0].y, vn2[0].z);
-				var l_nP3:Float = l_oGeometry.setVertex(  
l_oGeometry.getNextVertexID(), vn3[0].x, vn3[0].y, vn3[0].z);
+				var l_nP0:Int = l_oGeometry.setVertex( l_oGeometry.getNextVertexID(),  
vn0[0].x, vn0[0].y, vn0[0].z);
+				var l_nP1:Int = l_oGeometry.setVertex( l_oGeometry.getNextVertexID(),  
vn1[0].x, vn1[0].y, vn1[0].z);
+				var l_nP2:Int = l_oGeometry.setVertex( l_oGeometry.getNextVertexID(),  
vn2[0].x, vn2[0].y, vn2[0].z);
+				var l_nP3:Int = l_oGeometry.setVertex( l_oGeometry.getNextVertexID(),  
vn3[0].x, vn3[0].y, vn3[0].z);

  				// -- normals
  				var l_nN0:Float = l_oGeometry.setVertexNormal(  
l_oGeometry.getNextVertexNormalID(), vn0[1].x, vn0[1].y, vn0[1].z);
@@ -179,10 +179,10 @@
  				var uy0:Float = (s2	/ steps2);
  				var uy1:Float = ((s2+1)/ steps2);

-				var l_nUV0:Float = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux1, uy0);
-				var l_nUV1:Float = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux0, uy0);
-				var l_nUV2:Float = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux0, uy1);
-				var l_nUV3:Float = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux1, uy1);
+				var l_nUV0:Int = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux1, uy0);
+				var l_nUV1:Int = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux0, uy0);
+				var l_nUV2:Int = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux0, uy1);
+				var l_nUV3:Int = l_oGeometry.setUVCoords(  
l_oGeometry.getNextUVCoordID(), 1-ux1, uy1);

  				// -- faces
  				var l_nF0:Int = l_oGeometry.setFaceVertexIds(  
l_oGeometry.getNextFaceID(), [l_nP0, l_nP2, l_nP1] );


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

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