OSDN Git Service

[Backup]NyARToolkit for Java
[nyartoolkit-and/nyartoolkit-and.git] / src / jp / nyatla / nyartoolkit / core / transmat / solver / INyARTransportVectorSolver.java
1 /* \r
2  * PROJECT: NyARToolkit\r
3  * --------------------------------------------------------------------------------\r
4  * This work is based on the original ARToolKit developed by\r
5  *   Hirokazu Kato\r
6  *   Mark Billinghurst\r
7  *   HITLab, University of Washington, Seattle\r
8  * http://www.hitl.washington.edu/artoolkit/\r
9  *\r
10  * The NyARToolkit is Java version ARToolkit class library.\r
11  * Copyright (C)2008-2009 Ryo Iizuka\r
12  *\r
13  * This program is free software; you can redistribute it and/or modify\r
14  * it under the terms of the GNU Lesser General Public License as \r
15  * published by the Free Software Foundation; either version 3 of the\r
16  * License, or (at your option) any later version.\r
17  *\r
18  * This program is distributed in the hope that it will be useful, \r
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r
21  * See the GNU Lesser General Public License for more details.\r
22  *\r
23  * You should have received a copy of the GNU Lesser General Public \r
24  * License along with this program. If not, see <http://www.gnu.org/licenses/>.\r
25  * \r
26  * For further information please contact.\r
27  *      http://nyatla.jp/\r
28  *      <airmail(at)ebony.plala.or.jp>\r
29  */\r
30 package jp.nyatla.nyartoolkit.core.transmat.solver;\r
31 \r
32 import jp.nyatla.nyartoolkit.NyARException;\r
33 import jp.nyatla.nyartoolkit.core.types.NyARDoublePoint2d;\r
34 import jp.nyatla.nyartoolkit.core.types.NyARDoublePoint3d;\r
35 \r
36 /**\r
37  * 並進ベクトル[T]を3次元座標[b]と基点の回転済行列[M]から計算するインタフェイスです。\r
38  * [M][T]=[b]\r
39  *\r
40  */\r
41 public interface INyARTransportVectorSolver\r
42 {\r
43         public void set2dVertex(NyARDoublePoint2d[] i_ref_vertex_2d,int i_number_of_vertex) throws NyARException;\r
44         /**\r
45          * 画面座標群と3次元座標群から、平行移動量を計算します。\r
46          * 2d座標系は、直前に実行したset2dVertexのものを使用します。\r
47          * @param i_vertex_2d\r
48          * 直前のset2dVertexコールで指定したものと同じものを指定してください。\r
49          * @param i_vertex3d\r
50          * 3次元空間の座標群を設定します。頂点の順番は、画面座標群と同じ順序で格納してください。\r
51          * @param o_transfer\r
52          * @throws NyARException\r
53          */\r
54         public void solveTransportVector(NyARDoublePoint3d[] i_vertex3d,NyARDoublePoint3d o_transfer) throws NyARException;\r
55 }