OSDN Git Service

78f16e4eac1c6b64394be85303dd0ff96cf845e4
[nyartoolkit-and/nyartoolkit-and.git] / trunk / src / jp / nyatla / nyartoolkit / core / types / NyARHistgram.java
1 package jp.nyatla.nyartoolkit.core.types;\r
2 \r
3 /**\r
4  * 順データ型\r
5  */\r
6 public class NyARHistgram\r
7 {\r
8         /**\r
9          * サンプリング値の格納変数\r
10          */\r
11         public int[] data;\r
12         /**\r
13          * 有効なサンプリング値の範囲。[0-data.length-1]\r
14          */\r
15         public int length;\r
16         /**\r
17          * 有効なサンプルの総数 data[i]\r
18          */\r
19         public int total_of_data;\r
20         public NyARHistgram(int i_length)\r
21         {\r
22                 this.data=new int[i_length];\r
23                 this.length=i_length;\r
24                 this.total_of_data=0;\r
25         }\r
26         /**\r
27          * 区間i_stからi_edまでの総データ数を返します。\r
28          * @param i_st\r
29          * @param i_ed\r
30          * @return\r
31          */\r
32         public int getTotal(int i_st,int i_ed)\r
33         {\r
34                 assert(i_st<i_ed && i_ed<this.length);\r
35                 int result=0;\r
36                 int[] s=this.data;\r
37                 for(int i=i_st;i<=i_ed;i++){\r
38                         result+=s[i];\r
39                 }\r
40                 return result;\r
41         }\r
42         /**\r
43          * 指定したi_pos未満サンプルを0にします。\r
44          * @param i_pos\r
45          */\r
46         public void lowCut(int i_pos)\r
47         {\r
48                 int s=0;\r
49                 for(int i=0;i<i_pos;i++){\r
50                         s+=this.data[i];\r
51                         this.data[i]=0;\r
52                 }\r
53                 this.total_of_data-=s;\r
54         }\r
55         /**\r
56          * 指定したi_pos以上のサンプルを0にします。\r
57          * @param i_pos\r
58          */\r
59         public void highCut(int i_pos)\r
60         {\r
61                 int s=0;\r
62                 for(int i=this.length-1;i>=i_pos;i--){\r
63                         s+=this.data[i];\r
64                         this.data[i]=0;\r
65                 }\r
66                 this.total_of_data-=s;\r
67         }\r
68         \r
69 }\r