@@ 200-213 (lines=14) @@ | ||
197 | else: |
|
198 | simplex.remove(b) |
|
199 | self.direction = acd |
|
200 | elif(abd.isInSameDirection(aO)): |
|
201 | if(vector.cross(abd, ab).isInSameDirection(aO)): |
|
202 | simplex.remove(b) |
|
203 | simplex.remove(d) |
|
204 | self.direction = vector.cross(vector.cross(ab, aO), ab) |
|
205 | elif(vector.cross(ab, abd).isInSameDirection(aO)): |
|
206 | simplex.remove(b) |
|
207 | simplex.remove(c) |
|
208 | self.direction = vector.cross(vector.cross(ad, aO), ad) |
|
209 | else: |
|
210 | simplex.remove(c) |
|
211 | self.direction = abd |
|
212 | else: |
|
213 | return True |
|
214 | return False |
|
215 | ||
216 | ||
@@ 142-154 (lines=13) @@ | ||
139 | simplex.remove(c) |
|
140 | self.direction = aO |
|
141 | else: |
|
142 | if (abNormal.isInSameDirection(aO)): |
|
143 | if(ab.isInSameDirection(aO)): |
|
144 | simplex.remove(c) |
|
145 | self.direction = vector.cross(vector.cross(ab, aO), ab) |
|
146 | else: |
|
147 | simplex.remove(b) |
|
148 | simplex.remove(c) |
|
149 | self.direction = aO |
|
150 | else: |
|
151 | if(abc.isInSameDirection(aO)): |
|
152 | self.direction = vector.cross(vector.cross(abc, aO), abc) |
|
153 | else: |
|
154 | self.direction = vector.cross(vector.cross(-abc, aO), -abc) |
|
155 | return False |
|
156 | ||
157 | def processTetrehedron(self, simplex): |
|
@@ 189-199 (lines=11) @@ | ||
186 | simplex.remove(d) |
|
187 | self.direction = abc |
|
188 | elif (acd.isInSameDirection(aO)): |
|
189 | if (vector.cross(acd, ad).isInSameDirection(aO)): |
|
190 | simplex.remove(b) |
|
191 | simplex.remove(c) |
|
192 | self.direction = vector.cross(vector.cross(ad, aO), ad) |
|
193 | elif(vector.cross(ac, acd).isInSameDirection(aO)): |
|
194 | simplex.remove(b) |
|
195 | simplex.remove(d) |
|
196 | self.direction = vector.cross(vector.cross(ac, aO), ac) |
|
197 | else: |
|
198 | simplex.remove(b) |
|
199 | self.direction = acd |
|
200 | elif(abd.isInSameDirection(aO)): |
|
201 | if(vector.cross(abd, ab).isInSameDirection(aO)): |
|
202 | simplex.remove(b) |
|
@@ 177-187 (lines=11) @@ | ||
174 | aO = -a |
|
175 | ||
176 | if (abc.isInSameDirection(aO)): |
|
177 | if (vector.cross(abc, ac).isInSameDirection(aO)): |
|
178 | simplex.remove(b) |
|
179 | simplex.remove(d) |
|
180 | self.direction = vector.cross(vector.cross(ac, aO), ac) |
|
181 | elif(vector.cross(ab, abc).isInSameDirection(aO)): |
|
182 | simplex.remove(c) |
|
183 | simplex.remove(d) |
|
184 | self.direction = vector.cross(vector.cross(ab, aO), ab) |
|
185 | else: |
|
186 | simplex.remove(d) |
|
187 | self.direction = abc |
|
188 | elif (acd.isInSameDirection(aO)): |
|
189 | if (vector.cross(acd, ad).isInSameDirection(aO)): |
|
190 | simplex.remove(b) |