OSDN Git Service

git-svn-id: http://svn.sourceforge.jp/svnroot/nyartoolkit/NyARToolkit/trunk@765 7cac0...
authornyatla <nyatla@7cac0a50-4618-4814-88d0-24b83990f816>
Fri, 31 Dec 2010 05:37:18 +0000 (05:37 +0000)
committerAtsuo Igarashi <atsuoigarashi@ubuntu.(none)>
Tue, 5 Apr 2011 09:04:47 +0000 (18:04 +0900)
utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtCameraCapture.java [deleted file]
utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtCaptureListener.java [deleted file]
utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtNyARRaster_RGB.java [deleted file]

diff --git a/utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtCameraCapture.java b/utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtCameraCapture.java
deleted file mode 100644 (file)
index 5a46699..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/* \r
- * PROJECT: NyARToolkit Quicktime utilities.\r
- * --------------------------------------------------------------------------------\r
- * Copyright (C)2008 arc@dmz\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * \r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License\r
- * along with this framework; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
- * \r
- * For further information please contact.\r
- *     \r
- *     <arc(at)digitalmuseum.jp>\r
- * \r
- */\r
-\r
-package jp.nyatla.nyartoolkit.qt.utils;\r
-\r
-import java.awt.Dimension;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.io.File;\r
-\r
-import javax.swing.Timer;\r
-\r
-import quicktime.QTException;\r
-import quicktime.QTSession;\r
-import quicktime.io.QTFile;\r
-import quicktime.qd.PixMap;\r
-import quicktime.qd.QDConstants;\r
-import quicktime.qd.QDGraphics;\r
-import quicktime.qd.QDRect;\r
-import quicktime.std.StdQTConstants;\r
-import quicktime.std.movies.Movie;\r
-import quicktime.std.movies.media.DataRef;\r
-import quicktime.std.sg.SGVideoChannel;\r
-import quicktime.std.sg.SequenceGrabber;\r
-import quicktime.util.RawEncodedImage;\r
-\r
-import jp.nyatla.nyartoolkit.NyARException;\r
-\r
-/**\r
- * QuickTimeキャプチャクラス\r
- *\r
- */\r
-public class QtCameraCapture implements ActionListener\r
-{\r
-\r
-       private Dimension image_size;\r
-\r
-       private QtCaptureListener capture_listener;\r
-\r
-       protected float fps = 30; // キャプチャ画像を取得するfps\r
-\r
-       protected byte[] pixels; // キャプチャ画像の実データを保持するバイト型配列\r
-\r
-       // キャプチャに使うタイマー\r
-       private Timer timer;\r
-\r
-       // QTJava用のあれこれ\r
-       private QDGraphics graphics;\r
-\r
-       private QDRect bounds;\r
-\r
-       private SequenceGrabber grabber;\r
-\r
-       private SGVideoChannel channel;\r
-\r
-       private RawEncodedImage rawEncodedImage;\r
-\r
-       private Movie movie;\r
-\r
-       // ピクセルフォーマット変換用の一時変数\r
-       private int[] pixels_int;\r
-\r
-       public static final int PIXEL_FORMAT_RGB = quicktime.util.EndianOrder.isNativeLittleEndian() ? QDConstants.k32BGRAPixelFormat : QDGraphics.kDefaultPixelFormat;\r
-\r
-       public QtCameraCapture(int i_width, int i_height, float i_rate)\r
-       {\r
-               image_size = new Dimension(i_width, i_height);\r
-               fps = i_rate;\r
-       }\r
-\r
-       public Dimension getSize()\r
-       {\r
-               return image_size;\r
-       }\r
-\r
-       public byte[] readBuffer() throws NyARException\r
-       {\r
-               if (grabber == null) {\r
-                       throw new NyARException();\r
-               }\r
-               return pixels;\r
-       }\r
-\r
-       public void setCaptureListener(QtCaptureListener i_listener) throws NyARException\r
-       {\r
-               if (grabber != null) {\r
-                       throw new NyARException();\r
-               }\r
-               capture_listener = i_listener;\r
-\r
-       }\r
-\r
-       /**\r
-        * @param input\r
-        * @throws QTException\r
-        */\r
-       public void prepSetInput(Object input) throws QTException\r
-       {\r
-               QTSession.open();\r
-               bounds = new QDRect(image_size.width, image_size.height);\r
-               graphics = new QDGraphics(quicktime.util.EndianOrder.isNativeLittleEndian() ? QDConstants.k32BGRAPixelFormat : QDGraphics.kDefaultPixelFormat, bounds);\r
-               if (input != null && input.getClass().equals(File.class)) {\r
-                       movie = quicktime.std.movies.Movie.fromDataRef(new DataRef(new QTFile((File) input)), StdQTConstants.newMovieActive);\r
-               } else {\r
-                       grabber = new SequenceGrabber();\r
-                       grabber.setGWorld(graphics, null);\r
-                       //Please check WinVDIG if you got couldntGetRequiredComponent exception on Windows.\r
-                       channel = new SGVideoChannel(grabber);\r
-                       channel.setBounds(bounds);\r
-\r
-                       // seqGrabPreview == 2, Processingでmagic numberとしてハードコートされていた…\r
-                       channel.setUsage(StdQTConstants.seqGrabPreview);\r
-\r
-                       if (input != null) {\r
-                               try {\r
-                                       channel.setDevice(input.toString());\r
-                               } catch (QTException e) {\r
-                                       e.printStackTrace();\r
-                                       throw e;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-       /**\r
-        * Webcamの設定ダイアログを表示する。\r
-        * 既定のWebcamでは駄目な場合(複数のWebcamが接続されているPCなど)ではこれを実行するとよい。\r
-        */\r
-       public void prepShowDialog() throws QTException\r
-       {\r
-               channel.settingsDialog();\r
-       }\r
-\r
-       public void start() throws NyARException\r
-       {\r
-               try {\r
-\r
-                       if (grabber == null)\r
-                               prepSetInput(null);\r
-\r
-                       if (movie == null) {\r
-                               grabber.prepare(true, false); // あってもなくてもよさそう\r
-                               grabber.startPreview();\r
-                       } else {\r
-                               movie.preroll(0, 1.0f);\r
-                               while (movie.maxLoadedTimeInMovie() == 0)\r
-                                       movie.task(100);\r
-                               movie.setRate(1);\r
-                               movie.getPict(movie.getTime()).draw(graphics, bounds);\r
-                       }\r
-                       PixMap pixmap = graphics.getPixMap();\r
-                       rawEncodedImage = pixmap.getPixelData();\r
-\r
-                       image_size.width = rawEncodedImage.getRowBytes() / 4;\r
-                       pixels = new byte[image_size.width * image_size.height * 3];\r
-                       pixels_int = new int[image_size.width * image_size.height];\r
-               } catch (QTException e) {\r
-                       QTSession.close();\r
-                       throw new NyARException(e);\r
-               }\r
-\r
-               // キャプチャイメージを定期的に更新するタイマー\r
-               timer = new Timer((int) (1000 / fps), this);\r
-               timer.start();\r
-       }\r
-\r
-       public void stop()\r
-       {\r
-               finalize();\r
-       }\r
-\r
-       /** タイマー処理。キャプチャイメージの更新結果をリスナに伝える。 */\r
-       public void actionPerformed(ActionEvent event)\r
-       {\r
-\r
-               // 画像をQTJavaのRawEncodedImageとして取得\r
-               try {\r
-                       if (movie == null) {\r
-                               grabber.idle();\r
-                       } else {\r
-                               if (movie.isDone())\r
-                                       movie.goToBeginning();\r
-                               movie.getPict(movie.getTime()).draw(graphics, bounds);\r
-                       }\r
-               } catch (QTException e) {\r
-                       QTSession.close();\r
-                       e.printStackTrace();\r
-               }\r
-\r
-               // RawEncodedImageをint列に落とし込む\r
-               rawEncodedImage.copyToArray(0, pixels_int, 0, pixels_int.length);\r
-\r
-               // バイト列を生成する\r
-               int idx_byte = 0;\r
-               for (int idx = 0; idx < image_size.width * image_size.height; idx++) {\r
-                       pixels[idx_byte++] = (byte) (pixels_int[idx] >> 16);\r
-                       pixels[idx_byte++] = (byte) (pixels_int[idx] >> 8 & 0xff);\r
-                       pixels[idx_byte++] = (byte) (pixels_int[idx] & 0xff);\r
-               }\r
-\r
-               // 各リスナに更新されたバイト列を渡す\r
-               capture_listener.onUpdateBuffer(pixels);\r
-       }\r
-\r
-       protected void finalize()\r
-       {\r
-               try {\r
-                       if (movie == null) {\r
-                               grabber.stop();\r
-                               grabber.release();\r
-                               grabber.disposeChannel(channel);\r
-                       }\r
-               } catch (Exception e) {\r
-                       e.printStackTrace();\r
-               } finally {\r
-                       QTSession.close();\r
-               }\r
-               timer.stop();\r
-       }\r
-\r
-}\r
diff --git a/utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtCaptureListener.java b/utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtCaptureListener.java
deleted file mode 100644 (file)
index eaef79c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* \r
- * PROJECT: NyARToolkit Quicktime utilities.\r
- * --------------------------------------------------------------------------------\r
- * Copyright (C)2008 arc@dmz\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * \r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License\r
- * along with this framework; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
- * \r
- * For further information please contact.\r
- *     \r
- *     <arc(at)digitalmuseum.jp>\r
- * \r
- */\r
-package jp.nyatla.nyartoolkit.qt.utils;\r
-\r
-/**\r
- * QuickTime リスナクラス\r
- *\r
- */\r
-public interface  QtCaptureListener\r
-{\r
-    public void onUpdateBuffer(byte[] i_buffer);\r
-    \r
-}
\ No newline at end of file
diff --git a/utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtNyARRaster_RGB.java b/utils/qt/src/jp/nyatla/nyartoolkit/qt/utils/QtNyARRaster_RGB.java
deleted file mode 100644 (file)
index fc1bbb8..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/* \r
- * PROJECT: NyARToolkit Quicktime utilities.\r
- * --------------------------------------------------------------------------------\r
- * Copyright (C)2008 arc@dmz\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * \r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License\r
- * along with this framework; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
- * \r
- * For further information please contact.\r
- *     \r
- *     <arc(at)digitalmuseum.jp>\r
- * \r
- */\r
-package jp.nyatla.nyartoolkit.qt.utils;\r
-\r
-\r
-import jp.nyatla.nyartoolkit.NyARException;\r
-import jp.nyatla.nyartoolkit.core.raster.rgb.*;\r
-import jp.nyatla.nyartoolkit.core.rasterreader.*;\r
-import jp.nyatla.nyartoolkit.core.types.*;\r
-\r
-/**\r
- * RGB形式のbyte配列をラップするNyARRasterです。\r
- * 保持したデータからBufferedImageを出力する機能も持ちます。\r
- */\r
-public class QtNyARRaster_RGB implements INyARRgbRaster\r
-{\r
-       private NyARIntSize _size;\r
-       private byte[] _buffer;\r
-       private NyARRgbPixelReader_BYTE1D_R8G8B8_24 _reader;\r
-       private int _buffer_type;\r
-\r
-       /**\r
-        * QuickTimeオブジェクトからイメージを取得するラスタオブジェクトを作ります。\r
-        * この\r
-        * @param i_width\r
-        * @param i_height\r
-        */\r
-       public QtNyARRaster_RGB(int i_width, int i_height)\r
-       {\r
-               this._size=new NyARIntSize(i_width,i_height);\r
-               this._buffer= null;\r
-               this._buffer_type=NyARBufferType.BYTE1D_R8G8B8_24;\r
-               this._reader = new NyARRgbPixelReader_BYTE1D_R8G8B8_24(null,this._size);\r
-       }\r
-       \r
-       final public int getWidth()\r
-       {\r
-               return this._size.w;\r
-       }\r
-\r
-       final public int getHeight()\r
-       {\r
-               return this._size.h;\r
-       }\r
-\r
-       final public NyARIntSize getSize()\r
-       {\r
-               return this._size;\r
-       }\r
-       final public int getBufferType()\r
-       {\r
-               return this._buffer_type;\r
-       }\r
-       final public INyARRgbPixelReader getRgbPixelReader()\r
-       {\r
-               return this._reader;\r
-       }\r
-       final public boolean hasBuffer()\r
-       {\r
-               return this._buffer!=null;\r
-       }\r
-       final public Object getBuffer()\r
-       {\r
-               assert(this._buffer!=null);\r
-               return this._buffer;\r
-       }\r
-       final public boolean isEqualBufferType(int i_type_value)\r
-       {\r
-               return this._buffer_type==i_type_value;\r
-       }\r
-       final public void wrapBuffer(Object i_ref_buf) throws NyARException\r
-       {\r
-               this._buffer=(byte[])i_ref_buf;\r
-               this._reader.switchBuffer(i_ref_buf);\r
-       }\r
-}\r