OSDN Git Service

文字列化処理変更
[mikutoga/TogaGem.git] / src / main / java / jp / sfjp / mikutoga / pmd / TripletRange.java
1 /*
2  * triplet-value range limitation
3  *
4  * License : The MIT License
5  * Copyright(c) 2010 MikuToga Partners
6  */
7
8 package jp.sfjp.mikutoga.pmd;
9
10 import java.text.MessageFormat;
11
12 /**
13  * ジョイント用XYZ三組float値の範囲制約。
14  */
15 public class TripletRange {
16
17     private static final String DUMP_FORM =
18                "x=[{0} - {1}]"
19             + " y=[{2} - {3}]"
20             + " z=[{4} - {5}]";
21
22
23     private float xFrom;
24     private float xTo;
25     private float yFrom;
26     private float yTo;
27     private float zFrom;
28     private float zTo;
29
30     /**
31      * コンストラクタ。
32      */
33     public TripletRange(){
34         super();
35         return;
36     }
37
38     /**
39      * X値有効範囲を設定する。
40      * 下限値が上限値より大きければ入れ替える。
41      * @param xFromArg X値下限
42      * @param xToArg X値上限
43      */
44     public void setXRange(float xFromArg, float xToArg){
45         if(xFromArg <= xToArg){
46             this.xFrom = xFromArg;
47             this.xTo = xToArg;
48         }else{
49             this.xFrom = xToArg;
50             this.xTo = xFromArg;
51         }
52         return;
53     }
54
55     /**
56      * Y値有効範囲を設定する。
57      * 下限値が上限値より大きければ入れ替える。
58      * @param yFromArg Y値下限
59      * @param yToArg Y値上限
60      */
61     public void setYRange(float yFromArg, float yToArg){
62         if(yFromArg <= yToArg){
63             this.yFrom = yFromArg;
64             this.yTo = yToArg;
65         }else{
66             this.yFrom = yToArg;
67             this.yTo = yFromArg;
68         }
69         return;
70     }
71
72     /**
73      * Z値有効範囲を設定する。
74      * 下限値が上限値より大きければ入れ替える。
75      * @param zFromArg Z値下限
76      * @param zToArg Z値上限
77      */
78     public void setZRange(float zFromArg, float zToArg){
79         if(zFromArg <= zToArg){
80             this.zFrom = zFromArg;
81             this.zTo = zToArg;
82         }else{
83             this.zFrom = zToArg;
84             this.zTo = zFromArg;
85         }
86         return;
87     }
88
89     /**
90      * X値下限を返す。
91      * @return X値下限
92      */
93     public float getXFrom(){
94         return this.xFrom;
95     }
96
97     /**
98      * X値上限を返す。
99      * @return X値上限
100      */
101     public float getXTo(){
102         return this.xTo;
103     }
104
105     /**
106      * Y値下限を返す。
107      * @return Y値下限
108      */
109     public float getYFrom(){
110         return this.yFrom;
111     }
112
113     /**
114      * Y値上限を返す。
115      * @return Y値上限
116      */
117     public float getYTo(){
118         return this.yTo;
119     }
120
121     /**
122      * Z値下限を返す。
123      * @return Z値下限
124      */
125     public float getZFrom(){
126         return this.zFrom;
127     }
128
129     /**
130      * Z値上限を返す。
131      * @return Z値上限
132      */
133     public float getZTo(){
134         return this.zTo;
135     }
136
137     /**
138      * X値が範囲制約を満たすか判定する。
139      * @param xVal X値
140      * @return 制約を満たすならtrue
141      */
142     public boolean isValidX(float xVal){
143         if(this.xFrom <= xVal && xVal <= this.xTo) return true;
144         return false;
145     }
146
147     /**
148      * Y値が範囲制約を満たすか判定する。
149      * @param yVal Y値
150      * @return 制約を満たすならtrue
151      */
152     public boolean isValidY(float yVal){
153         if(this.yFrom <= yVal && yVal <= this.yTo) return true;
154         return false;
155     }
156
157     /**
158      * Z値が範囲制約を満たすか判定する。
159      * @param zVal Z値
160      * @return 制約を満たすならtrue
161      */
162     public boolean isValidZ(float zVal){
163         if(this.zFrom <= zVal && zVal <= this.zTo) return true;
164         return false;
165     }
166
167     /**
168      * {@inheritDoc}
169      * @return {@inheritDoc}
170      */
171     @Override
172     public String toString(){
173         String result = MessageFormat.format(
174             DUMP_FORM,
175             Float.toString(this.xFrom), Float.toString(this.xTo),
176             Float.toString(this.yFrom), Float.toString(this.yTo),
177             Float.toString(this.zFrom), Float.toString(this.zTo)
178         );
179
180         return result;
181     }
182
183 }