Show
Ignore:
Timestamp:
11/07/08 11:42:42 (2 months ago)
Author:
gyuque
Message:

fixed '4_4 element of matrix' bug

Location:
lang/actionscript/gmapkmz/FOSS4G-Demo
Files:
1 added
5 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/gmapkmz/FOSS4G-Demo/swf/GMapKMZ.as

    r22525 r22903  
    2020        public class GMapKMZ extends STDOUT 
    2121        { 
     22                public static const SCREEN_WIDTH:int  = 500; 
     23                public static const SCREEN_HEIGHT:int = 480; 
     24 
    2225                public static const DPI:Number = Math.PI * 2.0; 
    2326                public static const DEGTORAD:Number = 0.0174533; 
     
    4952                { 
    5053                        mQualitySwitcher = new QualitySwitcher(this); 
    51                         drawBase(graphics, 500, 480); 
     54                        drawBase(graphics, SCREEN_WIDTH, SCREEN_HEIGHT); 
    5255 
    5356                        mMapRoot = new Sprite(); 
     
    5962 
    6063                        mGMap = new MyGMap(); 
    61                         mGMap.setSize(new Point(500, 480)); 
     64                        mGMap.setSize(new Point(SCREEN_WIDTH, SCREEN_HEIGHT)); 
    6265                        mMapRoot.addChild(mGMap); 
    6366 
    6467                        mGMap.addEventListener(MapEvent.MAP_READY, onMapReady); 
    6568 
    66                         mGMap.x = -250; 
    67                         mGMap.y = -240; 
    68  
    69                         tx.width  = 500; 
    70                         tx.height = 480; 
     69                        mGMap.x = -(SCREEN_WIDTH/2); 
     70                        mGMap.y = -(SCREEN_HEIGHT/2); 
     71 
     72                        tx.width  = SCREEN_WIDTH; 
     73                        tx.height = SCREEN_HEIGHT; 
    7174 
    7275                        mMapMask = new Sprite(); 
    7376                        var mg:Graphics = mMapMask.graphics; 
    7477                        mg.beginFill(0); 
    75                         mg.drawRect(-250, -240, 500, 480); 
     78                        mg.drawRect(-SCREEN_WIDTH/2, -SCREEN_HEIGHT/2, SCREEN_WIDTH, SCREEN_HEIGHT); 
    7679                        mMapMask.visible = false; 
    7780                        mMapRoot.addChild(mMapMask); 
    7881 
    7982                        mLoadingLabel = new TextLabel("Loading..."); 
    80                         mLoadingLabel.x = 250; 
    81                         mLoadingLabel.y = 240; 
     83                        mLoadingLabel.x = SCREEN_WIDTH/2; 
     84                        mLoadingLabel.y = SCREEN_HEIGHT/2; 
    8285                        addChild(mLoadingLabel); 
    8386 
    8487                        removeChild(tx); 
    8588                        addChild(tx); 
     89//                      tx.height = SCREEN_HEIGHT; 
     90//tx.mouseEnabled = true; 
    8691                } 
    8792 
     
    131136                                if (loadpath == null) 
    132137                                        throw "null path"; 
     138 
     139                                ttw = new Map3DObject(loadpath); 
    133140                        } catch(exc:*) { 
    134141                                STDOUT.puts("Cannot get kmz location."); 
    135142                                return; 
    136143                        } 
    137  
    138                         ttw = new Map3DObject(loadpath); 
    139144 
    140145                        mModelLayer.addChild(ttw); 
     
    309314                        mViewSpriteTrans.d = m._22; 
    310315 
    311                         mViewSpriteTrans.tx = 250; 
    312                         mViewSpriteTrans.ty = 240 - (mRX*100); 
     316                        mViewSpriteTrans.tx = SCREEN_WIDTH/2; 
     317                        mViewSpriteTrans.ty = SCREEN_HEIGHT/2 - (mRX*100); 
    313318 
    314319                        mMapRoot.transform.matrix = mViewSpriteTrans; 
     
    406411        { 
    407412                super(); 
    408                 key = "*******************************************************"; 
     413                key = "ABQIAAAABxFFkLd0-1pnEhhkOq6s5RQQ613AaS6dPOLP9_3YjhSkYQuxfhT1J8ddGmXKkiaEKoKO7PL4jHhkMA"; 
    409414        } 
    410415} 
  • lang/actionscript/gmapkmz/FOSS4G-Demo/swf/exl/render/collada/DAEModel.as

    r22525 r22903  
    132132                                var instance_node:DaeInstanceNode = node.instance_nodes[i]; 
    133133                                var iNode:DaeNode = mDocument.getDaeNodeById(instance_node.url); 
    134  
    135134                                var iObj:DAESceneObject = getChildByName(iNode.id); 
    136135 
  • lang/actionscript/gmapkmz/FOSS4G-Demo/swf/exl/render/collada/DAEModelRenderer.as

    r22525 r22903  
    127127         
    128128                                        mFacesCount = 0; 
     129 
    129130                                        traverse(mSceneRoot, g); 
    130131                                        mTraverseDirty = false; 
     
    421422 
    422423                        var end:uint = mFacesCount; 
    423  
    424424                        if (end > start) 
    425425                                applyTransforms(start, end - start); 
     
    450450                                var m1:M44 = M44(mMatrixStack[mMatrixStack.length-1]); 
    451451                                var m2:M44 = new M44(); 
     452 
     453                                if (m._44 != 1 && m._44 != 0) { // (x,y,z)/w 
     454                                        var w:Number = 1.0 / m._44; 
     455                                        m = new M44(m); 
     456 
     457                                        m._11 *= w; 
     458                                        m._12 *= w; 
     459                                        m._13 *= w; 
     460                                        m._21 *= w; 
     461                                        m._22 *= w; 
     462                                        m._23 *= w; 
     463                                        m._31 *= w; 
     464                                        m._32 *= w; 
     465                                        m._33 *= w; 
     466                                        m._41 *= w; 
     467                                        m._42 *= w; 
     468                                        m._43 *= w; 
     469                                        m._44 = 1; 
     470                                } 
    452471 
    453472                                m2.mul(m, m1); 
  • lang/actionscript/gmapkmz/FOSS4G-Demo/swf/exl/trans3d/M44.as

    r22525 r22903  
    2222                        m._21 = a[4];  m._22 = a[5];  m._23 = a[6];  m._24 = a[7]; 
    2323                        m._31 = a[8];  m._32 = a[9];  m._33 = a[10]; m._34 = a[11]; 
    24  
     24                                                                     m._44 = a[15]; 
    2525                        return m; 
    2626                }