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

     ;; definition of link

     ;; definition of :docomo-p504is-bodyset2
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -70.0 -21.75 8.39711) (float-vector -70.0 -19.5 9.0) (float-vector -70.0 -17.25 8.39711) (float-vector -70.0 -15.6029 6.75) (float-vector -70.0 -15.0 4.5) (float-vector -70.0 -15.6029 2.25) (float-vector -70.0 -17.25 0.602886) (float-vector -70.0 -19.5 5.329071e-15) (float-vector -70.0 -21.75 0.602886) (float-vector -70.0 -23.3971 2.25) (float-vector -70.0 -24.0 4.5) (float-vector -70.0 -23.3971 6.75)))
         (instance face :init :vertices (list (float-vector -50.0 -19.5 9.0) (float-vector -50.0 -21.75 8.39711) (float-vector -50.0 -23.3971 6.75) (float-vector -50.0 -24.0 4.5) (float-vector -50.0 -23.3971 2.25) (float-vector -50.0 -21.75 0.602886) (float-vector -50.0 -19.5 8.881784e-16) (float-vector -50.0 -17.25 0.602886) (float-vector -50.0 -15.6029 2.25) (float-vector -50.0 -15.0 4.5) (float-vector -50.0 -15.6029 6.75) (float-vector -50.0 -17.25 8.39711)))
         (instance face :init :vertices (list (float-vector -70.0 -21.75 8.39711) (float-vector -50.0 -21.75 8.39711) (float-vector -50.0 -19.5 9.0) (float-vector -70.0 -19.5 9.0)))
         (instance face :init :vertices (list (float-vector -70.0 -23.3971 6.75) (float-vector -50.0 -23.3971 6.75) (float-vector -50.0 -21.75 8.39711) (float-vector -70.0 -21.75 8.39711)))
         (instance face :init :vertices (list (float-vector -70.0 -24.0 4.5) (float-vector -50.0 -24.0 4.5) (float-vector -50.0 -23.3971 6.75) (float-vector -70.0 -23.3971 6.75)))
         (instance face :init :vertices (list (float-vector -70.0 -23.3971 2.25) (float-vector -50.0 -23.3971 2.25) (float-vector -50.0 -24.0 4.5) (float-vector -70.0 -24.0 4.5)))
         (instance face :init :vertices (list (float-vector -70.0 -21.75 0.602886) (float-vector -50.0 -21.75 0.602886) (float-vector -50.0 -23.3971 2.25) (float-vector -70.0 -23.3971 2.25)))
         (instance face :init :vertices (list (float-vector -70.0 -19.5 5.329071e-15) (float-vector -50.0 -19.5 8.881784e-16) (float-vector -50.0 -21.75 0.602886) (float-vector -70.0 -21.75 0.602886)))
         (instance face :init :vertices (list (float-vector -70.0 -17.25 0.602886) (float-vector -50.0 -17.25 0.602886) (float-vector -50.0 -19.5 8.881784e-16) (float-vector -70.0 -19.5 5.329071e-15)))
         (instance face :init :vertices (list (float-vector -70.0 -15.6029 2.25) (float-vector -50.0 -15.6029 2.25) (float-vector -50.0 -17.25 0.602886) (float-vector -70.0 -17.25 0.602886)))
         (instance face :init :vertices (list (float-vector -70.0 -15.0 4.5) (float-vector -50.0 -15.0 4.5) (float-vector -50.0 -15.6029 2.25) (float-vector -70.0 -15.6029 2.25)))
         (instance face :init :vertices (list (float-vector -70.0 -15.6029 6.75) (float-vector -50.0 -15.6029 6.75) (float-vector -50.0 -15.0 4.5) (float-vector -70.0 -15.0 4.5)))
         (instance face :init :vertices (list (float-vector -70.0 -17.25 8.39711) (float-vector -50.0 -17.25 8.39711) (float-vector -50.0 -15.6029 6.75) (float-vector -70.0 -15.6029 6.75)))
         (instance face :init :vertices (list (float-vector -70.0 -19.5 9.0) (float-vector -50.0 -19.5 9.0) (float-vector -50.0 -17.25 8.39711) (float-vector -70.0 -17.25 8.39711)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 50.0 24.0 9.0) (float-vector -50.0 24.0 9.0) (float-vector -50.0 -24.0 9.0) (float-vector 50.0 -24.0 9.0)))
         (instance face :init :vertices (list (float-vector -50.0 24.0 -8.881784e-15) (float-vector 50.0 24.0 -8.881784e-15) (float-vector 50.0 -24.0 -8.881784e-15) (float-vector -50.0 -24.0 -8.881784e-15)))
         (instance face :init :vertices (list (float-vector 50.0 24.0 9.0) (float-vector 50.0 24.0 -8.881784e-15) (float-vector -50.0 24.0 -8.881784e-15) (float-vector -50.0 24.0 9.0)))
         (instance face :init :vertices (list (float-vector 50.0 -24.0 9.0) (float-vector 50.0 -24.0 -8.881784e-15) (float-vector 50.0 24.0 -8.881784e-15) (float-vector 50.0 24.0 9.0)))
         (instance face :init :vertices (list (float-vector -50.0 -24.0 9.0) (float-vector -50.0 -24.0 -8.881784e-15) (float-vector 50.0 -24.0 -8.881784e-15) (float-vector 50.0 -24.0 9.0)))
         (instance face :init :vertices (list (float-vector -50.0 24.0 9.0) (float-vector -50.0 24.0 -8.881784e-15) (float-vector -50.0 -24.0 -8.881784e-15) (float-vector -50.0 -24.0 9.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :whitesmoke)
     (send (elt bc 1) :set-color :whitesmoke)
     (setq blink0 (instance bodyset-link :init (make-cascoords) :bodies bc :name :docomo-p504is-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 :docomo-p504is-bodyset3
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 95.5 24.0 4.5) (float-vector -4.5 24.0 4.5) (float-vector -4.5 -24.0 4.5) (float-vector 95.5 -24.0 4.5)))
         (instance face :init :vertices (list (float-vector -4.5 24.0 -4.5) (float-vector 95.5 24.0 -4.5) (float-vector 95.5 -24.0 -4.5) (float-vector -4.5 -24.0 -4.5)))
         (instance face :init :vertices (list (float-vector 95.5 24.0 4.5) (float-vector 95.5 24.0 -4.5) (float-vector -4.5 24.0 -4.5) (float-vector -4.5 24.0 4.5)))
         (instance face :init :vertices (list (float-vector 95.5 -24.0 4.5) (float-vector 95.5 -24.0 -4.5) (float-vector 95.5 24.0 -4.5) (float-vector 95.5 24.0 4.5)))
         (instance face :init :vertices (list (float-vector -4.5 -24.0 4.5) (float-vector -4.5 -24.0 -4.5) (float-vector 95.5 -24.0 -4.5) (float-vector 95.5 -24.0 4.5)))
         (instance face :init :vertices (list (float-vector -4.5 24.0 4.5) (float-vector -4.5 24.0 -4.5) (float-vector -4.5 -24.0 -4.5) (float-vector -4.5 -24.0 4.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 85.5 19.0 -4.0) (float-vector 25.5 19.0 -4.0) (float-vector 25.5 -19.0 -4.0) (float-vector 85.5 -19.0 -4.0)))
         (instance face :init :vertices (list (float-vector 25.5 19.0 -5.0) (float-vector 85.5 19.0 -5.0) (float-vector 85.5 -19.0 -5.0) (float-vector 25.5 -19.0 -5.0)))
         (instance face :init :vertices (list (float-vector 85.5 19.0 -4.0) (float-vector 85.5 19.0 -5.0) (float-vector 25.5 19.0 -5.0) (float-vector 25.5 19.0 -4.0)))
         (instance face :init :vertices (list (float-vector 85.5 -19.0 -4.0) (float-vector 85.5 -19.0 -5.0) (float-vector 85.5 19.0 -5.0) (float-vector 85.5 19.0 -4.0)))
         (instance face :init :vertices (list (float-vector 25.5 -19.0 -4.0) (float-vector 25.5 -19.0 -5.0) (float-vector 85.5 -19.0 -5.0) (float-vector 85.5 -19.0 -4.0)))
         (instance face :init :vertices (list (float-vector 25.5 19.0 -4.0) (float-vector 25.5 19.0 -5.0) (float-vector 25.5 -19.0 -5.0) (float-vector 25.5 -19.0 -4.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     ;; paste texture kotaro_head.jpg
     (send (elt bc 1) :paste-texture-to-face (elt (send (elt bc 1) :faces)1) :file "models/kotaro_head.jpg")
     (send (elt bc 0) :set-color :whitesmoke)
     (send (elt bc 1) :set-color :gray20)
     (setq blink1 (instance bodyset-link :init (make-cascoords) :bodies bc :name :docomo-p504is-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 assoc
     (send blink1 :newcoords (make-coords :pos (float-vector -45.5 0.0 13.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 :base-joint
     (setq joint0 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink1 :name :base-joint :axis :-y
			     :min    0.0 :max  180.0 :max-joint-velocity 5 :max-joint-torque 100))


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

     self))

  (:base-joint (&rest args) (forward-message-to joint0 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 docomo-p504is (&rest args) (instance* docomo-p504is-object :init args))
;; (format *error-output* "(instance docomo-p504is-object :init) for generating model~%")
