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

     ;; definition of link

     ;; definition of :maruman-55-analog-clock-bodyset2
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 12.5 27.5 55.0) (float-vector 6.5 27.5 55.0) (float-vector 6.5 -27.5 55.0) (float-vector 12.5 -27.5 55.0)))
         (instance face :init :vertices (list (float-vector 6.5 27.5 0.0) (float-vector 12.5 27.5 0.0) (float-vector 12.5 -27.5 0.0) (float-vector 6.5 -27.5 0.0)))
         (instance face :init :vertices (list (float-vector 12.5 27.5 55.0) (float-vector 12.5 27.5 0.0) (float-vector 6.5 27.5 0.0) (float-vector 6.5 27.5 55.0)))
         (instance face :init :vertices (list (float-vector 12.5 -27.5 55.0) (float-vector 12.5 -27.5 0.0) (float-vector 12.5 27.5 0.0) (float-vector 12.5 27.5 55.0)))
         (instance face :init :vertices (list (float-vector 6.5 -27.5 55.0) (float-vector 6.5 -27.5 0.0) (float-vector 12.5 -27.5 0.0) (float-vector 12.5 -27.5 55.0)))
         (instance face :init :vertices (list (float-vector 6.5 27.5 55.0) (float-vector 6.5 27.5 0.0) (float-vector 6.5 -27.5 0.0) (float-vector 6.5 -27.5 55.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 6.5 27.5 55.0) (float-vector -12.5 27.5 55.0) (float-vector -12.5 -27.5 55.0) (float-vector 6.5 -27.5 55.0)))
         (instance face :init :vertices (list (float-vector -12.5 27.5 0.0) (float-vector 6.5 27.5 0.0) (float-vector 6.5 -27.5 0.0) (float-vector -12.5 -27.5 0.0)))
         (instance face :init :vertices (list (float-vector 6.5 27.5 55.0) (float-vector 6.5 27.5 0.0) (float-vector -12.5 27.5 0.0) (float-vector -12.5 27.5 55.0)))
         (instance face :init :vertices (list (float-vector 6.5 -27.5 55.0) (float-vector 6.5 -27.5 0.0) (float-vector 6.5 27.5 0.0) (float-vector 6.5 27.5 55.0)))
         (instance face :init :vertices (list (float-vector -12.5 -27.5 55.0) (float-vector -12.5 -27.5 0.0) (float-vector 6.5 -27.5 0.0) (float-vector 6.5 -27.5 55.0)))
         (instance face :init :vertices (list (float-vector -12.5 27.5 55.0) (float-vector -12.5 27.5 0.0) (float-vector -12.5 -27.5 0.0) (float-vector -12.5 -27.5 55.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (gl::transparent (elt bc 0) 0.1)
     (send (elt bc 1) :set-color :gray10)
     (setq blink0 (instance bodyset-link :init (make-cascoords) :bodies bc :name :maruman-55-analog-clock-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 :maruman-55-analog-clock-bodyset3
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 1.0 13.75) (float-vector -0.5 1.0 13.75) (float-vector -0.5 -1.0 13.75) (float-vector 0.5 -1.0 13.75)))
         (instance face :init :vertices (list (float-vector -0.5 1.0 0.0) (float-vector 0.5 1.0 0.0) (float-vector 0.5 -1.0 0.0) (float-vector -0.5 -1.0 0.0)))
         (instance face :init :vertices (list (float-vector 0.5 1.0 13.75) (float-vector 0.5 1.0 0.0) (float-vector -0.5 1.0 0.0) (float-vector -0.5 1.0 13.75)))
         (instance face :init :vertices (list (float-vector 0.5 -1.0 13.75) (float-vector 0.5 -1.0 0.0) (float-vector 0.5 1.0 0.0) (float-vector 0.5 1.0 13.75)))
         (instance face :init :vertices (list (float-vector -0.5 -1.0 13.75) (float-vector -0.5 -1.0 0.0) (float-vector 0.5 -1.0 0.0) (float-vector 0.5 -1.0 13.75)))
         (instance face :init :vertices (list (float-vector -0.5 1.0 13.75) (float-vector -0.5 1.0 0.0) (float-vector -0.5 -1.0 0.0) (float-vector -0.5 -1.0 13.75)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 -1.5 -2.59808) (float-vector 0.5 0.0 -3.0) (float-vector 0.5 1.5 -2.59808) (float-vector 0.5 2.59808 -1.5) (float-vector 0.5 3.0 0.0) (float-vector 0.5 2.59808 1.5) (float-vector 0.5 1.5 2.59808) (float-vector 0.5 2.442491e-15 3.0) (float-vector 0.5 -1.5 2.59808) (float-vector 0.5 -2.59808 1.5) (float-vector 0.5 -3.0 3.552714e-15) (float-vector 0.5 -2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.0 -3.0) (float-vector -0.5 -1.5 -2.59808) (float-vector -0.5 -2.59808 -1.5) (float-vector -0.5 -3.0 3.552714e-15) (float-vector -0.5 -2.59808 1.5) (float-vector -0.5 -1.5 2.59808) (float-vector -0.5 2.442491e-15 3.0) (float-vector -0.5 1.5 2.59808) (float-vector -0.5 2.59808 1.5) (float-vector -0.5 3.0 0.0) (float-vector -0.5 2.59808 -1.5) (float-vector -0.5 1.5 -2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 -1.5 -2.59808) (float-vector -0.5 -1.5 -2.59808) (float-vector -0.5 0.0 -3.0) (float-vector 0.5 0.0 -3.0)))
         (instance face :init :vertices (list (float-vector 0.5 -2.59808 -1.5) (float-vector -0.5 -2.59808 -1.5) (float-vector -0.5 -1.5 -2.59808) (float-vector 0.5 -1.5 -2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 -3.0 3.552714e-15) (float-vector -0.5 -3.0 3.552714e-15) (float-vector -0.5 -2.59808 -1.5) (float-vector 0.5 -2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector 0.5 -2.59808 1.5) (float-vector -0.5 -2.59808 1.5) (float-vector -0.5 -3.0 3.552714e-15) (float-vector 0.5 -3.0 3.552714e-15)))
         (instance face :init :vertices (list (float-vector 0.5 -1.5 2.59808) (float-vector -0.5 -1.5 2.59808) (float-vector -0.5 -2.59808 1.5) (float-vector 0.5 -2.59808 1.5)))
         (instance face :init :vertices (list (float-vector 0.5 2.442491e-15 3.0) (float-vector -0.5 2.442491e-15 3.0) (float-vector -0.5 -1.5 2.59808) (float-vector 0.5 -1.5 2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 1.5 2.59808) (float-vector -0.5 1.5 2.59808) (float-vector -0.5 2.442491e-15 3.0) (float-vector 0.5 2.442491e-15 3.0)))
         (instance face :init :vertices (list (float-vector 0.5 2.59808 1.5) (float-vector -0.5 2.59808 1.5) (float-vector -0.5 1.5 2.59808) (float-vector 0.5 1.5 2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 3.0 0.0) (float-vector -0.5 3.0 0.0) (float-vector -0.5 2.59808 1.5) (float-vector 0.5 2.59808 1.5)))
         (instance face :init :vertices (list (float-vector 0.5 2.59808 -1.5) (float-vector -0.5 2.59808 -1.5) (float-vector -0.5 3.0 0.0) (float-vector 0.5 3.0 0.0)))
         (instance face :init :vertices (list (float-vector 0.5 1.5 -2.59808) (float-vector -0.5 1.5 -2.59808) (float-vector -0.5 2.59808 -1.5) (float-vector 0.5 2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector 0.5 0.0 -3.0) (float-vector -0.5 0.0 -3.0) (float-vector -0.5 1.5 -2.59808) (float-vector 0.5 1.5 -2.59808)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (send (elt bc 1) :set-color :white)
     (setq blink1 (instance bodyset-link :init (make-cascoords) :bodies bc :name :maruman-55-analog-clock-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 :maruman-55-analog-clock-bodyset4
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 0.5 22.0) (float-vector -0.5 0.5 22.0) (float-vector -0.5 -0.5 22.0) (float-vector 0.5 -0.5 22.0)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 -2.131628e-14) (float-vector 0.5 0.5 -2.131628e-14) (float-vector 0.5 -0.5 -2.131628e-14) (float-vector -0.5 -0.5 -2.131628e-14)))
         (instance face :init :vertices (list (float-vector 0.5 0.5 22.0) (float-vector 0.5 0.5 -2.131628e-14) (float-vector -0.5 0.5 -2.131628e-14) (float-vector -0.5 0.5 22.0)))
         (instance face :init :vertices (list (float-vector 0.5 -0.5 22.0) (float-vector 0.5 -0.5 -2.131628e-14) (float-vector 0.5 0.5 -2.131628e-14) (float-vector 0.5 0.5 22.0)))
         (instance face :init :vertices (list (float-vector -0.5 -0.5 22.0) (float-vector -0.5 -0.5 -2.131628e-14) (float-vector 0.5 -0.5 -2.131628e-14) (float-vector 0.5 -0.5 22.0)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 22.0) (float-vector -0.5 0.5 -2.131628e-14) (float-vector -0.5 -0.5 -2.131628e-14) (float-vector -0.5 -0.5 22.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 -1.5 -2.59808) (float-vector 0.5 0.0 -3.0) (float-vector 0.5 1.5 -2.59808) (float-vector 0.5 2.59808 -1.5) (float-vector 0.5 3.0 0.0) (float-vector 0.5 2.59808 1.5) (float-vector 0.5 1.5 2.59808) (float-vector 0.5 2.442491e-15 3.0) (float-vector 0.5 -1.5 2.59808) (float-vector 0.5 -2.59808 1.5) (float-vector 0.5 -3.0 3.552714e-15) (float-vector 0.5 -2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.0 -3.0) (float-vector -0.5 -1.5 -2.59808) (float-vector -0.5 -2.59808 -1.5) (float-vector -0.5 -3.0 3.552714e-15) (float-vector -0.5 -2.59808 1.5) (float-vector -0.5 -1.5 2.59808) (float-vector -0.5 2.442491e-15 3.0) (float-vector -0.5 1.5 2.59808) (float-vector -0.5 2.59808 1.5) (float-vector -0.5 3.0 0.0) (float-vector -0.5 2.59808 -1.5) (float-vector -0.5 1.5 -2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 -1.5 -2.59808) (float-vector -0.5 -1.5 -2.59808) (float-vector -0.5 0.0 -3.0) (float-vector 0.5 0.0 -3.0)))
         (instance face :init :vertices (list (float-vector 0.5 -2.59808 -1.5) (float-vector -0.5 -2.59808 -1.5) (float-vector -0.5 -1.5 -2.59808) (float-vector 0.5 -1.5 -2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 -3.0 3.552714e-15) (float-vector -0.5 -3.0 3.552714e-15) (float-vector -0.5 -2.59808 -1.5) (float-vector 0.5 -2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector 0.5 -2.59808 1.5) (float-vector -0.5 -2.59808 1.5) (float-vector -0.5 -3.0 3.552714e-15) (float-vector 0.5 -3.0 3.552714e-15)))
         (instance face :init :vertices (list (float-vector 0.5 -1.5 2.59808) (float-vector -0.5 -1.5 2.59808) (float-vector -0.5 -2.59808 1.5) (float-vector 0.5 -2.59808 1.5)))
         (instance face :init :vertices (list (float-vector 0.5 2.442491e-15 3.0) (float-vector -0.5 2.442491e-15 3.0) (float-vector -0.5 -1.5 2.59808) (float-vector 0.5 -1.5 2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 1.5 2.59808) (float-vector -0.5 1.5 2.59808) (float-vector -0.5 2.442491e-15 3.0) (float-vector 0.5 2.442491e-15 3.0)))
         (instance face :init :vertices (list (float-vector 0.5 2.59808 1.5) (float-vector -0.5 2.59808 1.5) (float-vector -0.5 1.5 2.59808) (float-vector 0.5 1.5 2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 3.0 0.0) (float-vector -0.5 3.0 0.0) (float-vector -0.5 2.59808 1.5) (float-vector 0.5 2.59808 1.5)))
         (instance face :init :vertices (list (float-vector 0.5 2.59808 -1.5) (float-vector -0.5 2.59808 -1.5) (float-vector -0.5 3.0 0.0) (float-vector 0.5 3.0 0.0)))
         (instance face :init :vertices (list (float-vector 0.5 1.5 -2.59808) (float-vector -0.5 1.5 -2.59808) (float-vector -0.5 2.59808 -1.5) (float-vector 0.5 2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector 0.5 0.0 -3.0) (float-vector -0.5 0.0 -3.0) (float-vector -0.5 1.5 -2.59808) (float-vector 0.5 1.5 -2.59808)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (send (elt bc 1) :set-color :white)
     (setq blink2 (instance bodyset-link :init (make-cascoords) :bodies bc :name :maruman-55-analog-clock-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 :maruman-55-analog-clock-bodyset5
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 0.25 23.375) (float-vector -0.5 0.25 23.375) (float-vector -0.5 -0.25 23.375) (float-vector 0.5 -0.25 23.375)))
         (instance face :init :vertices (list (float-vector -0.5 0.25 -2.131628e-14) (float-vector 0.5 0.25 -2.131628e-14) (float-vector 0.5 -0.25 -2.131628e-14) (float-vector -0.5 -0.25 -2.131628e-14)))
         (instance face :init :vertices (list (float-vector 0.5 0.25 23.375) (float-vector 0.5 0.25 -2.131628e-14) (float-vector -0.5 0.25 -2.131628e-14) (float-vector -0.5 0.25 23.375)))
         (instance face :init :vertices (list (float-vector 0.5 -0.25 23.375) (float-vector 0.5 -0.25 -2.131628e-14) (float-vector 0.5 0.25 -2.131628e-14) (float-vector 0.5 0.25 23.375)))
         (instance face :init :vertices (list (float-vector -0.5 -0.25 23.375) (float-vector -0.5 -0.25 -2.131628e-14) (float-vector 0.5 -0.25 -2.131628e-14) (float-vector 0.5 -0.25 23.375)))
         (instance face :init :vertices (list (float-vector -0.5 0.25 23.375) (float-vector -0.5 0.25 -2.131628e-14) (float-vector -0.5 -0.25 -2.131628e-14) (float-vector -0.5 -0.25 23.375)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 -1.5 -2.59808) (float-vector 0.5 0.0 -3.0) (float-vector 0.5 1.5 -2.59808) (float-vector 0.5 2.59808 -1.5) (float-vector 0.5 3.0 0.0) (float-vector 0.5 2.59808 1.5) (float-vector 0.5 1.5 2.59808) (float-vector 0.5 2.442491e-15 3.0) (float-vector 0.5 -1.5 2.59808) (float-vector 0.5 -2.59808 1.5) (float-vector 0.5 -3.0 3.552714e-15) (float-vector 0.5 -2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.0 -3.0) (float-vector -0.5 -1.5 -2.59808) (float-vector -0.5 -2.59808 -1.5) (float-vector -0.5 -3.0 3.552714e-15) (float-vector -0.5 -2.59808 1.5) (float-vector -0.5 -1.5 2.59808) (float-vector -0.5 2.442491e-15 3.0) (float-vector -0.5 1.5 2.59808) (float-vector -0.5 2.59808 1.5) (float-vector -0.5 3.0 0.0) (float-vector -0.5 2.59808 -1.5) (float-vector -0.5 1.5 -2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 -1.5 -2.59808) (float-vector -0.5 -1.5 -2.59808) (float-vector -0.5 0.0 -3.0) (float-vector 0.5 0.0 -3.0)))
         (instance face :init :vertices (list (float-vector 0.5 -2.59808 -1.5) (float-vector -0.5 -2.59808 -1.5) (float-vector -0.5 -1.5 -2.59808) (float-vector 0.5 -1.5 -2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 -3.0 3.552714e-15) (float-vector -0.5 -3.0 3.552714e-15) (float-vector -0.5 -2.59808 -1.5) (float-vector 0.5 -2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector 0.5 -2.59808 1.5) (float-vector -0.5 -2.59808 1.5) (float-vector -0.5 -3.0 3.552714e-15) (float-vector 0.5 -3.0 3.552714e-15)))
         (instance face :init :vertices (list (float-vector 0.5 -1.5 2.59808) (float-vector -0.5 -1.5 2.59808) (float-vector -0.5 -2.59808 1.5) (float-vector 0.5 -2.59808 1.5)))
         (instance face :init :vertices (list (float-vector 0.5 2.442491e-15 3.0) (float-vector -0.5 2.442491e-15 3.0) (float-vector -0.5 -1.5 2.59808) (float-vector 0.5 -1.5 2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 1.5 2.59808) (float-vector -0.5 1.5 2.59808) (float-vector -0.5 2.442491e-15 3.0) (float-vector 0.5 2.442491e-15 3.0)))
         (instance face :init :vertices (list (float-vector 0.5 2.59808 1.5) (float-vector -0.5 2.59808 1.5) (float-vector -0.5 1.5 2.59808) (float-vector 0.5 1.5 2.59808)))
         (instance face :init :vertices (list (float-vector 0.5 3.0 0.0) (float-vector -0.5 3.0 0.0) (float-vector -0.5 2.59808 1.5) (float-vector 0.5 2.59808 1.5)))
         (instance face :init :vertices (list (float-vector 0.5 2.59808 -1.5) (float-vector -0.5 2.59808 -1.5) (float-vector -0.5 3.0 0.0) (float-vector 0.5 3.0 0.0)))
         (instance face :init :vertices (list (float-vector 0.5 1.5 -2.59808) (float-vector -0.5 1.5 -2.59808) (float-vector -0.5 2.59808 -1.5) (float-vector 0.5 2.59808 -1.5)))
         (instance face :init :vertices (list (float-vector 0.5 0.0 -3.0) (float-vector -0.5 0.0 -3.0) (float-vector -0.5 1.5 -2.59808) (float-vector 0.5 1.5 -2.59808)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :red)
     (send (elt bc 1) :set-color :red)
     (setq blink3 (instance bodyset-link :init (make-cascoords) :bodies bc :name :maruman-55-analog-clock-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 blink3 :newcoords (make-coords :pos (float-vector 9.5 0.0 27.5) :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 8.5 0.0 27.5) :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 blink1 :newcoords (make-coords :pos (float-vector 7.5 0.0 27.5) :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 self :assoc blink0)

     ;; definition of end-coords

     ;; definition of joint

     ;; definition of :hour-joint
     (setq joint0 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink1 :name :hour-joint :axis :-x
			     :min -360.0 :max  360.0 :max-joint-velocity 5 :max-joint-torque 100))

     ;; definition of :minute-joint
     (setq joint1 (instance rotational-joint :init
			     :parent-link blink1 :child-link blink2 :name :minute-joint :axis :-x
			     :min -360.0 :max  360.0 :max-joint-velocity 5 :max-joint-torque 100))

     ;; definition of :second-joint
     (setq joint2 (instance rotational-joint :init
			     :parent-link blink2 :child-link blink3 :name :second-joint :axis :-x
			     :min -360.0 :max  360.0 :max-joint-velocity 5 :max-joint-torque 100))


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

     self))

  (:hour-joint (&rest args) (forward-message-to joint0 args))
  (:minute-joint (&rest args) (forward-message-to joint1 args))
  (:second-joint (&rest args) (forward-message-to joint2 args))
  (:handle (&rest args) (forward-message-to-all (list ) args))
  (:attention (&rest args) (forward-message-to-all (list ) args))
  (:button (&rest args) (forward-message-to-all (list ) args))
  )

(defun maruman-55-analog-clock (&rest args) (instance* maruman-55-analog-clock-object :init args))
;; (format *error-output* "(instance maruman-55-analog-clock-object :init) for generating model~%")
