|
194 | 194 | )
|
195 | 195 | ))
|
196 | 196 |
|
| 197 | +(load "models/darwin.l") |
| 198 | +;; use add no-face link for euscollada-robot, use darwin-robot to override |
| 199 | +(defmethod darwin-robot |
| 200 | + ;; make collision model from faces or gl-vertices |
| 201 | + (:make-collision-model-for-links |
| 202 | + (&key (fat 0) ((:links ls) (send self :links))) |
| 203 | + ;; |
| 204 | + ;; for append camera links for test code |
| 205 | + (let (l) |
| 206 | + (setq l (instance bodyset-link :init (make-cascoords) :name "dummy-link")) |
| 207 | + (send (car links) :add-child-links l) |
| 208 | + (setq links (append links (list l))) |
| 209 | + (setq ls (send self :links))) |
| 210 | + ) |
| 211 | + ) |
| 212 | + |
197 | 213 | (when *collision-algorithm-pqp*
|
198 | 214 |
|
199 | 215 | (deftest test-collision-sphere-analytical-pqp
|
|
249 | 265 | (test-collision-distance-fat
|
250 | 266 | (body+ (make-cube 200 200 100) (make-cube 100 100 300))
|
251 | 267 | (body+ (make-cube 200 200 100) (make-cube 100 100 300))))
|
| 268 | + |
252 | 269 | )
|
253 | 270 |
|
254 | 271 | (when *collision-algorithm-bullet*
|
|
309 | 326 |
|
310 | 327 | )
|
311 | 328 |
|
| 329 | +;; not sure why, but put this function within (when *collision-algorithm-pqp* causes errors... |
| 330 | +(deftest test-self-collision-check-pqp |
| 331 | + (when *collision-algorithm-pqp* |
| 332 | + (setq *collision-algorithm* *collision-algorithm-pqp*) |
| 333 | + (let (robot) |
| 334 | + (setq robot (instance darwin-robot :init)) |
| 335 | + (send robot :self-collision-check) |
| 336 | + ))) |
| 337 | + |
| 338 | + |
| 339 | +(deftest test-self-collision-check-bullet |
| 340 | + (when *collision-algorithm-bullet* |
| 341 | + (setq *collision-algorithm* *collision-algorithm-bullet*) |
| 342 | + (let (robot) |
| 343 | + (setq robot (instance darwin-robot :init)) |
| 344 | + (send robot :self-collision-check) |
| 345 | + ))) |
| 346 | + |
312 | 347 | (eval-when (load eval)
|
313 | 348 | (run-all-tests)
|
314 | 349 | (exit 0))
|
0 commit comments