OSDN Git Service

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