;;
;; DO NOT EDIT THIS FILE
;; this file is automatically generated from euslisp+euslib version 
;;
;;
(defclass washing-machine-object
  :super cascaded-link
  :slots (sensors
         handle0 handle1 handle2 handle3 handle4
         joint0 joint1 joint2 joint3 ))
(defmethod washing-machine-object
  (:init
   (&rest args &key (name "washing-machine") (pos (float-vector 0 0 0)) (rot (unit-matrix 3)) &allow-other-keys)
   (let (c bc
         blink0 blink1 blink2 blink3 blink4
                 )
     (send-super* :init :name name args)

     ;; definition of link

     ;; definition of :root
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 80.5 275.0 540.0) (float-vector -154.5 275.0 540.0) (float-vector -154.5 -275.0 540.0) (float-vector 80.5 -275.0 540.0)))
         (instance face :init :vertices (list (float-vector -154.5 275.0 510.0) (float-vector 80.5 275.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector -154.5 -275.0 510.0)))
         (instance face :init :vertices (list (float-vector 80.5 275.0 540.0) (float-vector 80.5 275.0 510.0) (float-vector -154.5 275.0 510.0) (float-vector -154.5 275.0 540.0)))
         (instance face :init :vertices (list (float-vector 80.5 -275.0 540.0) (float-vector 80.5 -275.0 510.0) (float-vector 80.5 275.0 510.0) (float-vector 80.5 275.0 540.0)))
         (instance face :init :vertices (list (float-vector -154.5 -275.0 540.0) (float-vector -154.5 -275.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector 80.5 -275.0 540.0)))
         (instance face :init :vertices (list (float-vector -154.5 275.0 540.0) (float-vector -154.5 275.0 510.0) (float-vector -154.5 -275.0 510.0) (float-vector -154.5 -275.0 540.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 155.0 275.0 110.0) (float-vector -155.0 275.0 110.0) (float-vector -155.0 -275.0 110.0) (float-vector 155.0 -275.0 110.0)))
         (instance face :init :vertices (list (float-vector -155.0 275.0 90.0) (float-vector 155.0 275.0 90.0) (float-vector 155.0 -275.0 90.0) (float-vector -155.0 -275.0 90.0)))
         (instance face :init :vertices (list (float-vector 155.0 275.0 110.0) (float-vector 155.0 275.0 90.0) (float-vector -155.0 275.0 90.0) (float-vector -155.0 275.0 110.0)))
         (instance face :init :vertices (list (float-vector 155.0 -275.0 110.0) (float-vector 155.0 -275.0 90.0) (float-vector 155.0 275.0 90.0) (float-vector 155.0 275.0 110.0)))
         (instance face :init :vertices (list (float-vector -155.0 -275.0 110.0) (float-vector -155.0 -275.0 90.0) (float-vector 155.0 -275.0 90.0) (float-vector 155.0 -275.0 110.0)))
         (instance face :init :vertices (list (float-vector -155.0 275.0 110.0) (float-vector -155.0 275.0 90.0) (float-vector -155.0 -275.0 90.0) (float-vector -155.0 -275.0 110.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -125.0 245.0 510.0) (float-vector -155.0 245.0 510.0) (float-vector -155.0 -245.0 510.0) (float-vector -125.0 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 245.0 110.0) (float-vector -125.0 245.0 110.0) (float-vector -125.0 -245.0 110.0) (float-vector -155.0 -245.0 110.0)))
         (instance face :init :vertices (list (float-vector -125.0 245.0 510.0) (float-vector -125.0 245.0 110.0) (float-vector -155.0 245.0 110.0) (float-vector -155.0 245.0 510.0)))
         (instance face :init :vertices (list (float-vector -125.0 -245.0 510.0) (float-vector -125.0 -245.0 110.0) (float-vector -125.0 245.0 110.0) (float-vector -125.0 245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 -245.0 510.0) (float-vector -155.0 -245.0 110.0) (float-vector -125.0 -245.0 110.0) (float-vector -125.0 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 245.0 510.0) (float-vector -155.0 245.0 110.0) (float-vector -155.0 -245.0 110.0) (float-vector -155.0 -245.0 510.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 80.5 -245.0 510.0) (float-vector 155.0 -245.0 110.0) (float-vector -155.0 -245.0 110.0) (float-vector -154.5 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 -275.0 110.0) (float-vector 80.5 -275.0 510.0) (float-vector -154.5 -275.0 510.0) (float-vector -155.0 -275.0 110.0)))
         (instance face :init :vertices (list (float-vector 80.5 -245.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector 155.0 -275.0 110.0) (float-vector 155.0 -245.0 110.0)))
         (instance face :init :vertices (list (float-vector -154.5 -245.0 510.0) (float-vector -154.5 -275.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector 80.5 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 -245.0 110.0) (float-vector -155.0 -275.0 110.0) (float-vector -154.5 -275.0 510.0) (float-vector -154.5 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 -245.0 110.0) (float-vector 155.0 -275.0 110.0) (float-vector -155.0 -275.0 110.0) (float-vector -155.0 -245.0 110.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 80.5 275.0 510.0) (float-vector 155.0 275.0 110.0) (float-vector -155.0 275.0 110.0) (float-vector -154.5 275.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 245.0 110.0) (float-vector 80.5 245.0 510.0) (float-vector -154.5 245.0 510.0) (float-vector -155.0 245.0 110.0)))
         (instance face :init :vertices (list (float-vector 80.5 275.0 510.0) (float-vector 80.5 245.0 510.0) (float-vector 155.0 245.0 110.0) (float-vector 155.0 275.0 110.0)))
         (instance face :init :vertices (list (float-vector -154.5 275.0 510.0) (float-vector -154.5 245.0 510.0) (float-vector 80.5 245.0 510.0) (float-vector 80.5 275.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 275.0 110.0) (float-vector -155.0 245.0 110.0) (float-vector -154.5 245.0 510.0) (float-vector -154.5 275.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 275.0 110.0) (float-vector 155.0 245.0 110.0) (float-vector -155.0 245.0 110.0) (float-vector -155.0 275.0 110.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 160.0 275.0 100.0) (float-vector -160.0 275.0 100.0) (float-vector -160.0 -275.0 100.0) (float-vector 160.0 -275.0 100.0)))
         (instance face :init :vertices (list (float-vector -160.0 275.0 40.0) (float-vector 160.0 275.0 40.0) (float-vector 160.0 -275.0 40.0) (float-vector -160.0 -275.0 40.0)))
         (instance face :init :vertices (list (float-vector 160.0 275.0 100.0) (float-vector 160.0 275.0 40.0) (float-vector -160.0 275.0 40.0) (float-vector -160.0 275.0 100.0)))
         (instance face :init :vertices (list (float-vector 160.0 -275.0 100.0) (float-vector 160.0 -275.0 40.0) (float-vector 160.0 275.0 40.0) (float-vector 160.0 275.0 100.0)))
         (instance face :init :vertices (list (float-vector -160.0 -275.0 100.0) (float-vector -160.0 -275.0 40.0) (float-vector 160.0 -275.0 40.0) (float-vector 160.0 -275.0 100.0)))
         (instance face :init :vertices (list (float-vector -160.0 275.0 100.0) (float-vector -160.0 275.0 40.0) (float-vector -160.0 -275.0 40.0) (float-vector -160.0 -275.0 100.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 150.0 260.0 50.0) (float-vector -150.0 260.0 50.0) (float-vector -150.0 -260.0 50.0) (float-vector 150.0 -260.0 50.0)))
         (instance face :init :vertices (list (float-vector -150.0 260.0 0.0) (float-vector 150.0 260.0 0.0) (float-vector 150.0 -260.0 0.0) (float-vector -150.0 -260.0 0.0)))
         (instance face :init :vertices (list (float-vector 150.0 260.0 50.0) (float-vector 150.0 260.0 0.0) (float-vector -150.0 260.0 0.0) (float-vector -150.0 260.0 50.0)))
         (instance face :init :vertices (list (float-vector 150.0 -260.0 50.0) (float-vector 150.0 -260.0 0.0) (float-vector 150.0 260.0 0.0) (float-vector 150.0 260.0 50.0)))
         (instance face :init :vertices (list (float-vector -150.0 -260.0 50.0) (float-vector -150.0 -260.0 0.0) (float-vector 150.0 -260.0 0.0) (float-vector 150.0 -260.0 50.0)))
         (instance face :init :vertices (list (float-vector -150.0 260.0 50.0) (float-vector -150.0 260.0 0.0) (float-vector -150.0 -260.0 0.0) (float-vector -150.0 -260.0 50.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :darkgray)
     (send (elt bc 1) :set-color :darkgray)
     (send (elt bc 2) :set-color :darkgray)
     (send (elt bc 3) :set-color :darkgray)
     (send (elt bc 4) :set-color :darkgray)
     (send (elt bc 5) :set-color :darkgray)
     (send (elt bc 6) :set-color :darkgray)
     (setq blink0 (instance bodyset-link :init (make-cascoords) :bodies bc :name :root :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset2
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector -0.5 0.5 0.5) (float-vector -0.5 -0.5 0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector -0.5 -0.5 -0.5)))
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector 0.5 0.5 -0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector 0.5 -0.5 0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 -0.5 0.5) (float-vector -0.5 -0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 -0.5 -0.5) (float-vector -0.5 -0.5 0.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -45.0 -235.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector 185.0 -235.0 55.0) (float-vector -45.0 -235.0 55.0)))
         (instance face :init :vertices (list (float-vector 210.0 -210.0 25.0) (float-vector 210.0 -210.0 75.0) (float-vector 187.5 -232.5 75.0) (float-vector 187.5 -232.5 55.0) (float-vector 185.0 -235.0 55.0) (float-vector 185.0 -235.0 25.0)))
         (instance face :init :vertices (list (float-vector 210.0 210.0 25.0) (float-vector 210.0 210.0 75.0) (float-vector 210.0 -210.0 75.0) (float-vector 210.0 -210.0 25.0)))
         (instance face :init :vertices (list (float-vector 185.0 235.0 25.0) (float-vector 185.0 235.0 55.0) (float-vector 187.5 232.5 55.0) (float-vector 187.5 232.5 75.0) (float-vector 210.0 210.0 75.0) (float-vector 210.0 210.0 25.0)))
         (instance face :init :vertices (list (float-vector -45.0 235.0 25.0) (float-vector -45.0 235.0 55.0) (float-vector 185.0 235.0 55.0) (float-vector 185.0 235.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 210.0 25.0) (float-vector -70.0 210.0 55.0) (float-vector -45.0 235.0 55.0) (float-vector -45.0 235.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 -207.5 100.0) (float-vector -65.0 -207.5 100.0) (float-vector -65.0 207.5 100.0) (float-vector -70.0 207.5 100.0)))
         (instance face :init :vertices (list (float-vector -70.0 -210.0 25.0) (float-vector -70.0 -210.0 55.0) (float-vector -70.0 -207.5 55.0) (float-vector -70.0 -207.5 100.0) (float-vector -70.0 207.5 100.0) (float-vector -70.0 207.5 55.0) (float-vector -70.0 210.0 55.0) (float-vector -70.0 210.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 -210.0 25.0) (float-vector -70.0 210.0 25.0) (float-vector -45.0 235.0 25.0) (float-vector 185.0 235.0 25.0) (float-vector 210.0 210.0 25.0) (float-vector 210.0 -210.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector -45.0 -235.0 25.0)))
         (instance face :init :vertices (list (float-vector -45.0 -235.0 25.0) (float-vector -45.0 -235.0 55.0) (float-vector -70.0 -210.0 55.0) (float-vector -70.0 -210.0 25.0)))
         (instance face :init :vertices (list (float-vector 187.5 232.5 55.0) (float-vector 185.0 235.0 55.0) (float-vector -45.0 235.0 55.0) (float-vector -70.0 210.0 55.0) (float-vector -70.0 207.5 55.0) (float-vector -65.0 207.5 55.0) (float-vector -65.0 210.0 55.0) (float-vector -45.0 230.0 55.0) (float-vector 185.0 230.0 55.0) (float-vector 187.5 227.5 55.0)))
         (instance face :init :vertices (list (float-vector 187.5 232.5 75.0) (float-vector 187.5 232.5 55.0) (float-vector 187.5 227.5 55.0) (float-vector 187.5 227.5 75.0)))
         (instance face :init :vertices (list (float-vector -65.0 207.5 55.0) (float-vector -70.0 207.5 55.0) (float-vector -70.0 207.5 100.0) (float-vector -65.0 207.5 100.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 30.0) (float-vector -45.0 230.0 30.0) (float-vector -65.0 210.0 30.0) (float-vector -65.0 -210.0 30.0) (float-vector -45.0 -230.0 30.0) (float-vector 185.0 -230.0 30.0) (float-vector 205.0 -210.0 30.0) (float-vector 205.0 210.0 30.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 30.0) (float-vector 205.0 210.0 30.0) (float-vector 205.0 210.0 75.0) (float-vector 187.5 227.5 75.0) (float-vector 187.5 227.5 55.0) (float-vector 185.0 230.0 55.0)))
         (instance face :init :vertices (list (float-vector 205.0 210.0 75.0) (float-vector 205.0 210.0 30.0) (float-vector 205.0 -210.0 30.0) (float-vector 205.0 -210.0 75.0)))
         (instance face :init :vertices (list (float-vector 205.0 -210.0 75.0) (float-vector 205.0 -210.0 30.0) (float-vector 185.0 -230.0 30.0) (float-vector 185.0 -230.0 55.0) (float-vector 187.5 -227.5 55.0) (float-vector 187.5 -227.5 75.0)))
         (instance face :init :vertices (list (float-vector 185.0 -230.0 55.0) (float-vector 185.0 -230.0 30.0) (float-vector -45.0 -230.0 30.0) (float-vector -45.0 -230.0 55.0)))
         (instance face :init :vertices (list (float-vector -45.0 -230.0 55.0) (float-vector -45.0 -230.0 30.0) (float-vector -65.0 -210.0 30.0) (float-vector -65.0 -210.0 55.0)))
         (instance face :init :vertices (list (float-vector -65.0 -210.0 55.0) (float-vector -65.0 -210.0 30.0) (float-vector -65.0 210.0 30.0) (float-vector -65.0 210.0 55.0) (float-vector -65.0 207.5 55.0) (float-vector -65.0 207.5 100.0) (float-vector -65.0 -207.5 100.0) (float-vector -65.0 -207.5 55.0)))
         (instance face :init :vertices (list (float-vector -45.0 230.0 55.0) (float-vector -65.0 210.0 55.0) (float-vector -65.0 210.0 30.0) (float-vector -45.0 230.0 30.0)))
         (instance face :init :vertices (list (float-vector -45.0 230.0 30.0) (float-vector 185.0 230.0 30.0) (float-vector 185.0 230.0 55.0) (float-vector -45.0 230.0 55.0)))
         (instance face :init :vertices (list (float-vector 187.5 -232.5 75.0) (float-vector 210.0 -210.0 75.0) (float-vector 210.0 210.0 75.0) (float-vector 187.5 232.5 75.0) (float-vector 187.5 227.5 75.0) (float-vector 205.0 210.0 75.0) (float-vector 205.0 -210.0 75.0) (float-vector 187.5 -227.5 75.0)))
         (instance face :init :vertices (list (float-vector 187.5 -232.5 55.0) (float-vector 187.5 -232.5 75.0) (float-vector 187.5 -227.5 75.0) (float-vector 187.5 -227.5 55.0)))
         (instance face :init :vertices (list (float-vector -65.0 -207.5 55.0) (float-vector -65.0 -207.5 100.0) (float-vector -70.0 -207.5 100.0) (float-vector -70.0 -207.5 55.0)))
         (instance face :init :vertices (list (float-vector -70.0 -207.5 55.0) (float-vector -70.0 -210.0 55.0) (float-vector -45.0 -235.0 55.0) (float-vector 185.0 -235.0 55.0) (float-vector 187.5 -232.5 55.0) (float-vector 187.5 -227.5 55.0) (float-vector 185.0 -230.0 55.0) (float-vector -45.0 -230.0 55.0) (float-vector -65.0 -210.0 55.0) (float-vector -65.0 -207.5 55.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :blue)
     (send (elt bc 1) :set-color :lightgrey)
     (setq blink4 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset2 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset3
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -35.0 0.0 210.0) (float-vector 0.0 0.0 210.0) (float-vector 0.0 550.0 210.0) (float-vector -35.0 550.0 210.0)))
         (instance face :init :vertices (list (float-vector 15.0 0.0 0.0) (float-vector 15.0 550.0 0.0) (float-vector 0.0 550.0 210.0) (float-vector 0.0 0.0 210.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 2.14286 145.0 180.0) (float-vector 2.14286 405.0 180.0) (float-vector 5.0 405.0 140.0) (float-vector 5.0 145.0 140.0)))
))
         (instance face :init :vertices (list (float-vector 0.0 0.0 0.0) (float-vector 0.0 550.0 0.0) (float-vector 15.0 550.0 0.0) (float-vector 15.0 0.0 0.0)))
         (instance face :init :vertices (list (float-vector -35.0 550.0 210.0) (float-vector 0.0 550.0 210.0) (float-vector 15.0 550.0 0.0) (float-vector 0.0 550.0 0.0)))
         (instance face :init :vertices (list (float-vector 0.0 0.0 0.0) (float-vector 15.0 0.0 0.0) (float-vector 0.0 0.0 210.0) (float-vector -35.0 0.0 210.0)))
         (instance face :init :vertices (list (float-vector -35.0 0.0 210.0) (float-vector -35.0 550.0 210.0) (float-vector 0.0 550.0 0.0) (float-vector 0.0 0.0 0.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector -23.3333 145.0 140.0) (float-vector -23.3333 405.0 140.0) (float-vector -30.0 405.0 180.0) (float-vector -30.0 145.0 180.0)))
))
         (instance face :init :vertices (list (float-vector -30.0 405.0 180.0) (float-vector 2.14286 405.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector -30.0 145.0 180.0)))
         (instance face :init :vertices (list (float-vector 5.0 145.0 140.0) (float-vector 5.0 405.0 140.0) (float-vector -23.3333 405.0 140.0) (float-vector -23.3333 145.0 140.0)))
         (instance face :init :vertices (list (float-vector -23.3333 405.0 140.0) (float-vector 5.0 405.0 140.0) (float-vector 2.14286 405.0 180.0) (float-vector -30.0 405.0 180.0)))
         (instance face :init :vertices (list (float-vector -30.0 145.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector 5.0 145.0 140.0) (float-vector -23.3333 145.0 140.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -23.3333 405.0 140.0) (float-vector -30.0 405.0 180.0) (float-vector 2.14286 405.0 180.0) (float-vector 5.0 405.0 140.0)))
         (instance face :init :vertices (list (float-vector -30.0 145.0 180.0) (float-vector -23.3333 145.0 140.0) (float-vector 5.0 145.0 140.0) (float-vector 2.14286 145.0 180.0)))
         (instance face :init :vertices (list (float-vector -23.3333 405.0 140.0) (float-vector -23.3333 145.0 140.0) (float-vector -30.0 145.0 180.0) (float-vector -30.0 405.0 180.0)))
         (instance face :init :vertices (list (float-vector 5.0 405.0 140.0) (float-vector 5.0 145.0 140.0) (float-vector -23.3333 145.0 140.0) (float-vector -23.3333 405.0 140.0)))
         (instance face :init :vertices (list (float-vector 2.14286 405.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector 5.0 145.0 140.0) (float-vector 5.0 405.0 140.0)))
         (instance face :init :vertices (list (float-vector -30.0 405.0 180.0) (float-vector -30.0 145.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector 2.14286 405.0 180.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :gray)
     (send (elt bc 1) :set-color :springgreen)
     (setq blink2 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset3 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset4
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector -0.5 0.5 0.5) (float-vector -0.5 -0.5 0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector -0.5 -0.5 -0.5)))
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector 0.5 0.5 -0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector 0.5 -0.5 0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 -0.5 0.5) (float-vector -0.5 -0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 -0.5 -0.5) (float-vector -0.5 -0.5 0.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 185.0 235.0 115.0) (float-vector 185.0 230.0 115.0) (float-vector 185.0 -23.5 115.0) (float-vector 190.0 -23.5 115.0) (float-vector 190.0 235.0 115.0)))
         (instance face :init :vertices (list (float-vector 185.0 235.0 135.0) (float-vector 185.0 230.0 135.0) (float-vector 185.0 230.0 115.0) (float-vector 185.0 235.0 115.0)))
         (instance face :init :vertices (list (float-vector -70.0 -30.0 25.0) (float-vector -70.0 -30.0 -15.0) (float-vector 185.0 -30.0 -15.0) (float-vector 185.0 -30.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 -30.0 25.0) (float-vector 185.0 -30.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector -70.0 -235.0 25.0)))
         (instance face :init :vertices (list (float-vector 185.0 -235.0 25.0) (float-vector 185.0 -30.0 25.0) (float-vector 185.0 -30.0 -15.0) (float-vector 185.0 -235.0 -15.0)))
         (instance face :init :vertices (list (float-vector -70.0 -235.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector 185.0 -235.0 -15.0) (float-vector 190.0 -235.0 -15.0) (float-vector 190.0 -235.0 105.0) (float-vector 183.5 -235.0 105.0) (float-vector 183.5 -235.0 125.0) (float-vector -70.0 -235.0 125.0)))
         (instance face :init :vertices (list (float-vector -70.0 -30.0 -15.0) (float-vector -70.0 -30.0 25.0) (float-vector -70.0 -235.0 25.0) (float-vector -70.0 -235.0 125.0) (float-vector -70.0 -25.0 125.0) (float-vector -70.0 -25.0 135.0) (float-vector -70.0 235.0 135.0) (float-vector -70.0 235.0 75.0) (float-vector -70.0 -25.0 75.0) (float-vector -70.0 -25.0 -15.0)))
         (instance face :init :vertices (list (float-vector 190.0 235.0 115.0) (float-vector 190.0 -23.5 115.0) (float-vector 190.0 -23.5 105.0) (float-vector 190.0 -235.0 105.0) (float-vector 190.0 -235.0 -15.0) (float-vector 190.0 -25.0 -15.0) (float-vector 190.0 -25.0 75.0) (float-vector 190.0 235.0 75.0)))
         (instance face :init :vertices (list (float-vector -70.0 235.0 135.0) (float-vector -70.0 -25.0 135.0) (float-vector -65.0 -25.0 135.0) (float-vector -65.0 230.0 135.0) (float-vector 185.0 230.0 135.0) (float-vector 185.0 235.0 135.0)))
         (instance face :init :vertices (list (float-vector 190.0 -25.0 -15.0) (float-vector 190.0 -235.0 -15.0) (float-vector 185.0 -235.0 -15.0) (float-vector 185.0 -30.0 -15.0) (float-vector -70.0 -30.0 -15.0) (float-vector -70.0 -25.0 -15.0)))
         (instance face :init :vertices (list (float-vector -70.0 235.0 75.0) (float-vector -70.0 235.0 135.0) (float-vector 185.0 235.0 135.0) (float-vector 185.0 235.0 115.0) (float-vector 190.0 235.0 115.0) (float-vector 190.0 235.0 75.0)))
         (instance face :init :vertices (list (float-vector -70.0 -25.0 125.0) (float-vector -70.0 -235.0 125.0) (float-vector 183.5 -235.0 125.0) (float-vector 183.5 -230.0 125.0) (float-vector -65.0 -230.0 125.0) (float-vector -65.0 -25.0 125.0)))
         (instance face :init :vertices (list (float-vector -65.0 -25.0 135.0) (float-vector -70.0 -25.0 135.0) (float-vector -70.0 -25.0 125.0) (float-vector -65.0 -25.0 125.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 115.0) (float-vector 185.0 230.0 135.0) (float-vector -65.0 230.0 135.0) (float-vector -65.0 230.0 80.0) (float-vector 185.0 230.0 80.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 80.0) (float-vector -65.0 230.0 80.0) (float-vector -65.0 -25.0 80.0) (float-vector 185.0 -25.0 80.0)))
         (instance face :init :vertices (list (float-vector 185.0 -230.0 105.0) (float-vector 185.0 -23.5 105.0) (float-vector 185.0 -23.5 115.0) (float-vector 185.0 230.0 115.0) (float-vector 185.0 230.0 80.0) (float-vector 185.0 -25.0 80.0) (float-vector 185.0 -25.0 85.0) (float-vector 185.0 -30.0 85.0) (float-vector 185.0 -30.0 30.0) (float-vector 185.0 -230.0 30.0)))
         (instance face :init :vertices (list (float-vector 185.0 -30.0 85.0) (float-vector 185.0 -25.0 85.0) (float-vector -65.0 -25.0 85.0) (float-vector -65.0 -30.0 85.0)))
         (instance face :init :vertices (list (float-vector -65.0 -25.0 85.0) (float-vector 185.0 -25.0 85.0) (float-vector 185.0 -25.0 80.0) (float-vector -65.0 -25.0 80.0)))
         (instance face :init :vertices (list (float-vector -65.0 -30.0 85.0) (float-vector -65.0 -25.0 85.0) (float-vector -65.0 -25.0 80.0) (float-vector -65.0 230.0 80.0) (float-vector -65.0 230.0 135.0) (float-vector -65.0 -25.0 135.0) (float-vector -65.0 -25.0 125.0) (float-vector -65.0 -230.0 125.0) (float-vector -65.0 -230.0 30.0) (float-vector -65.0 -30.0 30.0)))
         (instance face :init :vertices (list (float-vector -65.0 -230.0 30.0) (float-vector -65.0 -230.0 125.0) (float-vector 183.5 -230.0 125.0) (float-vector 183.5 -230.0 105.0) (float-vector 185.0 -230.0 105.0) (float-vector 185.0 -230.0 30.0)))
         (instance face :init :vertices (list (float-vector 185.0 -30.0 30.0) (float-vector 185.0 -30.0 85.0) (float-vector -65.0 -30.0 85.0) (float-vector -65.0 -30.0 30.0)))
         (instance face :init :vertices (list (float-vector -65.0 -30.0 30.0) (float-vector -65.0 -230.0 30.0) (float-vector 185.0 -230.0 30.0) (float-vector 185.0 -30.0 30.0)))
         (instance face :init :vertices (list (float-vector -70.0 -25.0 75.0) (float-vector -70.0 235.0 75.0) (float-vector 190.0 235.0 75.0) (float-vector 190.0 -25.0 75.0)))
         (instance face :init :vertices (list (float-vector 190.0 -25.0 75.0) (float-vector 190.0 -25.0 -15.0) (float-vector -70.0 -25.0 -15.0) (float-vector -70.0 -25.0 75.0)))
         (instance face :init :vertices (list (float-vector 183.5 -230.0 105.0) (float-vector 183.5 -230.0 125.0) (float-vector 183.5 -235.0 125.0) (float-vector 183.5 -235.0 105.0)))
         (instance face :init :vertices (list (float-vector 190.0 -23.5 105.0) (float-vector 190.0 -23.5 115.0) (float-vector 185.0 -23.5 115.0) (float-vector 185.0 -23.5 105.0)))
         (instance face :init :vertices (list (float-vector 185.0 -23.5 105.0) (float-vector 185.0 -230.0 105.0) (float-vector 183.5 -230.0 105.0) (float-vector 183.5 -235.0 105.0) (float-vector 190.0 -235.0 105.0) (float-vector 190.0 -23.5 105.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :blue)
     (send (elt bc 1) :set-color :lightgrey)
     (setq blink3 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset4 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset5
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 125.0 0.0 125.0) (float-vector 135.0 0.0 125.0) (float-vector 135.0 550.0 125.0) (float-vector 125.0 550.0 125.0)))
         (instance face :init :vertices (list (float-vector 200.0 0.0 -125.0) (float-vector 200.0 550.0 -125.0) (float-vector 135.0 550.0 125.0) (float-vector 135.0 0.0 125.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 142.8 45.0 95.0) (float-vector 142.8 505.0 95.0) (float-vector 189.6 505.0 -85.0) (float-vector 189.6 45.0 -85.0)))
))
         (instance face :init :vertices (list (float-vector 165.0 0.0 -125.0) (float-vector 165.0 550.0 -125.0) (float-vector 200.0 550.0 -125.0) (float-vector 200.0 0.0 -125.0)))
         (instance face :init :vertices (list (float-vector 125.0 550.0 125.0) (float-vector 135.0 550.0 125.0) (float-vector 200.0 550.0 -125.0) (float-vector 165.0 550.0 -125.0)))
         (instance face :init :vertices (list (float-vector 165.0 0.0 -125.0) (float-vector 200.0 0.0 -125.0) (float-vector 135.0 0.0 125.0) (float-vector 125.0 0.0 125.0)))
         (instance face :init :vertices (list (float-vector 125.0 0.0 125.0) (float-vector 125.0 550.0 125.0) (float-vector 165.0 550.0 -125.0) (float-vector 165.0 0.0 -125.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 158.6 45.0 -85.0) (float-vector 158.6 505.0 -85.0) (float-vector 129.8 505.0 95.0) (float-vector 129.8 45.0 95.0)))
))
         (instance face :init :vertices (list (float-vector 129.8 505.0 95.0) (float-vector 142.8 505.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 129.8 45.0 95.0)))
         (instance face :init :vertices (list (float-vector 189.6 45.0 -85.0) (float-vector 189.6 505.0 -85.0) (float-vector 158.6 505.0 -85.0) (float-vector 158.6 45.0 -85.0)))
         (instance face :init :vertices (list (float-vector 158.6 505.0 -85.0) (float-vector 189.6 505.0 -85.0) (float-vector 142.8 505.0 95.0) (float-vector 129.8 505.0 95.0)))
         (instance face :init :vertices (list (float-vector 129.8 45.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 189.6 45.0 -85.0) (float-vector 158.6 45.0 -85.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 180.6 505.0 -85.0) (float-vector 132.8 505.0 95.0) (float-vector 142.8 505.0 95.0) (float-vector 189.6 505.0 -85.0)))
         (instance face :init :vertices (list (float-vector 132.8 45.0 95.0) (float-vector 180.6 45.0 -85.0) (float-vector 189.6 45.0 -85.0) (float-vector 142.8 45.0 95.0)))
         (instance face :init :vertices (list (float-vector 180.6 505.0 -85.0) (float-vector 180.6 45.0 -85.0) (float-vector 132.8 45.0 95.0) (float-vector 132.8 505.0 95.0)))
         (instance face :init :vertices (list (float-vector 189.6 505.0 -85.0) (float-vector 189.6 45.0 -85.0) (float-vector 180.6 45.0 -85.0) (float-vector 180.6 505.0 -85.0)))
         (instance face :init :vertices (list (float-vector 142.8 505.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 189.6 45.0 -85.0) (float-vector 189.6 505.0 -85.0)))
         (instance face :init :vertices (list (float-vector 132.8 505.0 95.0) (float-vector 132.8 45.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 142.8 505.0 95.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :gray)
     (send (elt bc 1) :set-color :white)
     (gl::transparent (elt bc 1) 0.5)
     (setq blink1 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset5 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of assoc
     (send blink1 :newcoords (make-coords :pos (float-vector -50.0 -275.0 415.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink1)
     (send blink3 :newcoords (make-coords :pos (float-vector -80.0 5.0 285.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink3)
     (send blink2 :newcoords (make-coords :pos (float-vector 150.0 -275.0 90.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink2)
     (send blink4 :newcoords (make-coords :pos (float-vector -80.0 5.0 115.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink4)
     (send self :assoc blink0)

     ;; definition of end-coords

     ;; definition of joint

     ;; definition of :upper-door
     (setq joint0 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink1 :name :upper-door :axis :y 
			     :min  -80.0 :max    0.0 :max-joint-velocity 5 :max-joint-torque 100))

     ;; definition of :lower-door
     (setq joint1 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink2 :name :lower-door :axis :y 
			     :min    0.0 :max   90.0 :max-joint-velocity 5 :max-joint-torque 100))

     ;; definition of :upper-shelf
     (setq joint2 (instance linear-joint :init
			     :parent-link blink0 :child-link blink3 :name :upper-shelf :axis (float-vector 1.0 0.0 0.0)
			     :min    0.0 :max  170.0 :max-joint-velocity 0.785398 :max-joint-torque 100))

     ;; definition of :lower-shelf
     (setq joint3 (instance linear-joint :init
			     :parent-link blink0 :child-link blink4 :name :lower-shelf :axis (float-vector 1.0 0.0 0.0)
			     :min    0.0 :max  190.0 :max-joint-velocity 0.785398 :max-joint-torque 100))


     ;; definition of :handle
     (setq handle0 (make-cascoords :pos (float-vector 150.0 175.0 260.0) :rot #2f((-0.173648 -0.984808 -1.110223e-16) (1.110223e-16 -1.110223e-16 1.0) (-0.984808 0.173648 1.110223e-16)) :name "push"))
     (send blink2 :assoc handle0)
     (setq handle1 (make-cascoords :pos (float-vector 150.0 230.0 290.0) :rot #2f((0.0 -1.0 2.220446e-16) (2.220446e-16 2.220446e-16 1.0) (-1.0 0.0 2.220446e-16)) :name "close-r"))
     (send blink2 :assoc handle1)
     (setq handle2 (make-cascoords :pos (float-vector 150.0 -230.0 290.0) :rot #2f((0.0 -1.0 -2.220446e-16) (2.220446e-16 2.220446e-16 -1.0) (1.0 0.0 2.220446e-16)) :name "close-l"))
     (send blink2 :assoc handle2)
     (setq handle3 (make-cascoords :pos (float-vector 150.0 0.0 240.0) :rot #2f((-1.0 1.232595e-32 1.224647e-16) (1.224647e-16 2.220446e-16 1.0) (-1.232595e-32 1.0 -2.220446e-16)) :name "button"))
     (send blink2 :assoc handle3)
     (setq handle4 (make-cascoords :pos (float-vector 100.0 50.0 160.0) :rot #2f((-0.707107 0.707107 5.551115e-17) (-1.665335e-16 -1.110223e-16 -1.0) (-0.707107 -0.707107 2.220446e-16)) :name "lower-shelf"))
     (send blink4 :assoc handle4)

     ;; init-ending 
     (setq links (list blink0 blink1 blink2 blink3 blink4))
     (setq joint-list (list joint0 joint1 joint2 joint3))
     (send self :init-ending)
     (send self :move-to (make-coords :pos pos :rot rot))
     (send-all links :worldcoords)

     self))

  (:upper-door (&rest args) (forward-message-to joint0 args))
  (:lower-door (&rest args) (forward-message-to joint1 args))
  (:upper-shelf (&rest args) (forward-message-to joint2 args))
  (:lower-shelf (&rest args) (forward-message-to joint3 args))
  (:handle (&rest args) (forward-message-to-all (list  handle0 handle1 handle2 handle3 handle4) args))
  (:handle-push (&rest args) (forward-message-to handle0 args))
  (:handle-close-r (&rest args) (forward-message-to handle1 args))
  (:handle-close-l (&rest args) (forward-message-to handle2 args))
  (:handle-button (&rest args) (forward-message-to handle3 args))
  (:handle-lower-shelf (&rest args) (forward-message-to handle4 args))
  (:attention (&rest args) (forward-message-to-all (list ) args))
  (:button (&rest args) (forward-message-to-all (list ) args))
  )

(defun washing-machine (&rest args) (instance* washing-machine-object :init args))
;; (format *error-output* "(instance washing-machine-object :init) for generating model~%")
