チェンジセット 1685

差分発生行の前後
無視リスト:
コミット日時:
2008/10/22 08:53:09 (3 ヶ月前)
コミッタ:
tarotarorg
ログメッセージ:

マーカ候補の四角形を赤で囲むサンプルを追加

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/FLARToolKit/trunk/samples/org/tarotaro/flash/ar/FLARAnotherWorldWindow.as

    r1636 r1685  
    4242        import org.papervision3d.objects.primitives.Cube; 
    4343        import org.papervision3d.objects.primitives.Sphere; 
     44        import org.tarotaro.flash.ar.layers.FLARAnotherWorldWindowLayer; 
    4445         
    4546        /** 
  • as3/FLARToolKit/trunk/samples/org/tarotaro/flash/ar/FLARPanoramaSphere.as

    r1636 r1685  
    2828        import org.libspark.flartoolkit.core.raster.rgb.FLARRgbRaster_BitmapData; 
    2929        import org.libspark.flartoolkit.core.raster.rgb.IFLARRgbRaster; 
     30        import org.tarotaro.flash.ar.layers.FLARPanoramaSphereLayer; 
    3031         
    3132        /** 
  • as3/FLARToolKit/trunk/samples/org/tarotaro/flash/ar/layers/FLARLayer.as

    r1636 r1685  
    1818        import flash.display.Sprite; 
    1919        import org.libspark.flartoolkit.core.raster.IFLARRaster; 
     20        import org.libspark.flartoolkit.core.raster.rgb.IFLARRgbRaster; 
    2021         
    2122        /** 
     
    2526        public class FLARLayer extends Sprite 
    2627        { 
    27                 protected var _source:IFLARRaster; 
     28                protected var _source:IFLARRgbRaster; 
    2829                protected var _thresh:int; 
    2930 
    30                 public function FLARLayer(src:IFLARRaster,thresh:int)  
     31                public function FLARLayer(src:IFLARRgbRaster,thresh:int)  
    3132                { 
    3233                        this._source = src; 
  • as3/FLARToolKit/trunk/samples/org/tarotaro/flash/ar/layers/FLARSquareLayer.as

    r1330 r1685  
    1616package org.tarotaro.flash.ar.layers  
    1717{ 
    18         import com.libspark.flartoolkit.core.FLARParam; 
    19         import com.libspark.flartoolkit.core.FLARSquare; 
    20         import com.libspark.flartoolkit.core.FLARSquareDetector; 
    21         import com.libspark.flartoolkit.core.FLARSquareList; 
    22         import com.libspark.flartoolkit.core.raster.FLARBitmapData; 
    2318        import flash.display.Bitmap; 
    2419        import flash.display.BitmapData; 
     
    2924        import flash.display.PixelSnapping; 
    3025        import flash.display.Shape; 
     26        import org.libspark.flartoolkit.core.FLARSquare; 
     27        import org.libspark.flartoolkit.core.FLARSquareDetector; 
     28        import org.libspark.flartoolkit.core.FLARSquareStack; 
     29        import org.libspark.flartoolkit.core.param.FLARParam; 
     30        import org.libspark.flartoolkit.core.raster.FLARRaster_BitmapData; 
     31        import org.libspark.flartoolkit.core.raster.IFLARRaster; 
     32        import org.libspark.flartoolkit.core.raster.rgb.IFLARRgbRaster; 
     33        import org.libspark.flartoolkit.core.rasterfilter.rgb2bin.FLARRasterFilter_BitmapDataThreshold; 
     34        import org.libspark.flartoolkit.core.types.FLARIntSize; 
    3135         
    3236        /** 
     
    3741        { 
    3842                private var _detector:FLARSquareDetector; 
    39                 private var _squareList:FLARSquareList
     43                private var _stack:FLARSquareStack
    4044 
    4145                private var _thickness:Number=NaN; 
     
    4751                private var _joints:String=null; 
    4852                private var _miterLimit:Number = 3; 
     53                private var _monoSrc:IFLARRaster; 
     54                private var _filter:FLARRasterFilter_BitmapDataThreshold; 
    4955 
    50                 public function FLARSquareLayer(src:FLARBitmapData, param:FLARParam, thresh:int=100)  
     56                /** 
     57                 *  
     58                 * @param       src 
     59                 * @param       param 
     60                 * @param       thresh 
     61                 */ 
     62                public function FLARSquareLayer(src:IFLARRgbRaster, param:FLARParam, thresh:int=100)  
    5163                { 
    5264                        super(src,thresh); 
    53                         this._squareList = new FLARSquareList(10); 
    54                         this._detector = new FLARSquareDetector(param); 
     65                        this._stack = new FLARSquareStack(10); 
     66                        this._detector = new FLARSquareDetector(param.getDistortionFactor(), param.getScreenSize()); 
     67                        this._filter = new FLARRasterFilter_BitmapDataThreshold(thresh); 
     68                        this._monoSrc = new FLARRaster_BitmapData(src.getWidth(), src.getHeight()); 
    5569                } 
    5670                 
     
    6074                override public function update():void 
    6175                { 
    62                         this._detector.detectSquare(this._source, this._thresh, this._squareList); 
     76                        this._filter.doFilter(this._source, this._monoSrc); 
     77                        this._detector.detectMarker(this._monoSrc, this._stack); 
    6378                        this.graphics.clear(); 
    64                         var squareNum:int = this._squareList.getSquareNum(); 
     79                        var squareNum:int = this._stack.getLength(); 
    6580                        var square:FLARSquare; 
    6681                        var v:Array; 
    6782 
    6883                        for (var i:int = 0; i < squareNum; i++) { 
    69                                 square = this._squareList.getSquare(i); 
     84                                square = this._stack.getItem(i) as FLARSquare; 
     85                                if (square == null) { 
     86                                        trace(square, i,"nullです"); 
     87                                        continue; 
     88                                } 
    7089                                v = square.sqvertex; 
    7190                                this.graphics.lineStyle(this._thickness,  
     
    7796                                                                                this._joints,  
    7897                                                                                this._miterLimit); 
    79                                 this.graphics.moveTo(v[3][0], v[3][1]); 
     98                                this.graphics.moveTo(v[3].x, v[3].y); 
    8099                                for (var vi:int = 0; vi < v.length; vi++) { 
    81                                         this.graphics.lineTo(v[vi][0], v[vi][1]); 
     100                                        this.graphics.lineTo(v[vi].x, v[vi].y); 
    82101                                } 
    83102                        }