[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