OSDN Git Service

[TAG]2.4.0
[nyartoolkit-and/nyartoolkit-and.git] / tags / 2.4.0 / 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 edition 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 General Public License as published by\r
15  * the Free Software Foundation, either version 3 of the License, or\r
16  * (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.  See the\r
21  * GNU General Public License for more details.\r
22  *\r
23  * You should have received a copy of the GNU General Public License\r
24  * 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/nyatoolkit/\r
28  *      <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>\r
29  * \r
30  */\r
31 package jp.nyatla.nyartoolkit.core.transmat.solver;\r
32 \r
33 import jp.nyatla.nyartoolkit.NyARException;\r
34 import jp.nyatla.nyartoolkit.core.types.NyARDoublePoint2d;\r
35 import jp.nyatla.nyartoolkit.core.types.NyARDoublePoint3d;\r
36 \r
37 /**\r
38  * 並進ベクトル[T]を3次元座標[b]と基点の回転済行列[M]から計算するインタフェイスです。\r
39  * [M][T]=[b]\r
40  *\r
41  */\r
42 public interface INyARTransportVectorSolver\r
43 {\r
44         public void set2dVertex(NyARDoublePoint2d[] i_ref_vertex_2d,int i_number_of_vertex) throws NyARException;\r
45         /**\r
46          * 画面座標群と3次元座標群から、平行移動量を計算します。\r
47          * 2d座標系は、直前に実行したset2dVertexのものを使用します。\r
48          * @param i_vertex_2d\r
49          * 直前のset2dVertexコールで指定したものと同じものを指定してください。\r
50          * @param i_vertex3d\r
51          * 3次元空間の座標群を設定します。頂点の順番は、画面座標群と同じ順序で格納してください。\r
52          * @param o_transfer\r
53          * @throws NyARException\r
54          */\r
55         public void solveTransportVector(NyARDoublePoint3d[] i_vertex3d,NyARDoublePoint3d o_transfer) throws NyARException;\r
56 }