OSDN Git Service

45517a998d1b24848bab3306618d43ca4a422846
[nyartoolkit-and/nyartoolkit-and.git] / src / jp / nyatla / nyartoolkit / core / types / NyARDoublePoint2d.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\r
14  * modify it under the terms of the GNU Lesser General Public License\r
15  * as published by the Free Software Foundation; either version 3\r
16  * of the 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. See the\r
21  * 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/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.types;\r
32 \r
33 \r
34 public class NyARDoublePoint2d\r
35 {\r
36         public double x;\r
37         public double y;\r
38         /**\r
39          * 配列ファクトリ\r
40          * @param i_number\r
41          * @return\r
42          */\r
43         public static NyARDoublePoint2d[] createArray(int i_number)\r
44         {\r
45                 NyARDoublePoint2d[] ret=new NyARDoublePoint2d[i_number];\r
46                 for(int i=0;i<i_number;i++)\r
47                 {\r
48                         ret[i]=new NyARDoublePoint2d();\r
49                 }\r
50                 return ret;\r
51         }\r
52         public static NyARDoublePoint2d[][] create2dArray(int i_length_x,int i_length_y)\r
53         {\r
54                 NyARDoublePoint2d[][] ret=new NyARDoublePoint2d[i_length_y][i_length_x];\r
55                 for(int i=0;i<i_length_y;i++)\r
56                 {\r
57                         for(int i2=0;i2<i_length_x;i2++)\r
58                         {\r
59                                 ret[i][i2]=new NyARDoublePoint2d();\r
60                         }\r
61                 }\r
62                 return ret;\r
63         }\r
64         public NyARDoublePoint2d()\r
65         {\r
66                 this.x=0;\r
67                 this.y=0;\r
68                 return;\r
69         }       \r
70         public NyARDoublePoint2d(double i_x,double i_y)\r
71         {\r
72                 this.x=i_x;\r
73                 this.y=i_y;\r
74                 return;\r
75         }\r
76         public NyARDoublePoint2d(NyARDoublePoint2d i_src)\r
77         {\r
78                 this.x=i_src.x;\r
79                 this.y=i_src.y;\r
80                 return;\r
81         }\r
82         public NyARDoublePoint2d(NyARIntPoint2d i_src)\r
83         {\r
84                 this.x=(double)i_src.x;\r
85                 this.y=(double)i_src.y;\r
86                 return;\r
87         }\r
88         public void setValue(NyARDoublePoint2d i_src)\r
89         {\r
90                 this.x=i_src.x;\r
91                 this.y=i_src.y;\r
92                 return;\r
93         }\r
94         public void setValue(NyARIntPoint2d i_src)\r
95         {\r
96                 this.x=(double)i_src.x;\r
97                 this.y=(double)i_src.y;\r
98                 return;\r
99         }\r
100         /**\r
101          * 格納値をベクトルとして、距離を返します。\r
102          * @return\r
103          */\r
104         public double dist()\r
105         {\r
106                 return Math.sqrt(this.x*this.x+this.y+this.y);\r
107         }\r
108 }\r