File: laundry-machine-object.l

package info (click to toggle)
euslisp 9.31%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 55,448 kB
  • sloc: ansic: 41,610; lisp: 3,339; makefile: 286; sh: 238; asm: 138; python: 53
file content (204 lines) | stat: -rw-r--r-- 26,712 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
;;
;; DO NOT EDIT THIS FILE
;; this file is automatically generated from euslisp+euslib version 
;;
;;
(defclass laundry-machine-object
  :super cascaded-link
  :slots (sensors
         handle0 handle1 handle2
         button0
         joint0 joint1 ))
(defmethod laundry-machine-object
  (:init
   (&rest args &key (name "laundry-machine") (pos (float-vector 0 0 0)) (rot (unit-matrix 3)) &allow-other-keys)
   (let (c bc
         blink0 blink1 blink2
                 )
     (send-super* :init :name name args)

     ;; definition of link

     ;; definition of 'b0
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 517.568 -300.0 1094.55) (float-vector 547.064 -300.0 1047.42) (float-vector 547.064 300.0 1047.42) (float-vector 517.568 300.0 1094.55)))
         (instance face :init :vertices (list (float-vector 574.402 -300.0 997.785) (float-vector 574.402 300.0 997.785) (float-vector 547.064 300.0 1047.42) (float-vector 547.064 -300.0 1047.42)))
         (instance face :init :vertices (list (float-vector 599.473 -300.0 945.827) (float-vector 599.473 -95.7191 945.827) (float-vector 598.07 -92.5 948.734) (float-vector 587.269 2.273737e-13 971.118) (float-vector 598.07 92.5 948.734) (float-vector 599.473 95.7191 945.827) (float-vector 599.473 300.0 945.827) (float-vector 574.402 300.0 997.785) (float-vector 574.402 -300.0 997.785)))
         (instance face :init :vertices (list (float-vector 622.178 300.0 891.754) (float-vector 599.473 300.0 945.827) (float-vector 599.473 95.7191 945.827) (float-vector 622.178 153.9 891.754)))
         (instance face :init :vertices (list (float-vector 622.178 -300.0 891.754) (float-vector 622.178 -153.9 891.754) (float-vector 599.473 -95.7191 945.827) (float-vector 599.473 -300.0 945.827)))
         (instance face :init :vertices (list (float-vector 642.427 300.0 835.779) (float-vector 622.178 300.0 891.754) (float-vector 622.178 153.9 891.754) (float-vector 624.36 160.215 885.722) (float-vector 642.427 174.225 835.779)))
         (instance face :init :vertices (list (float-vector 642.427 -300.0 835.779) (float-vector 642.427 -174.225 835.779) (float-vector 624.36 -160.215 885.722) (float-vector 622.178 -153.9 891.754) (float-vector 622.178 -300.0 891.754)))
         (instance face :init :vertices (list (float-vector 660.141 300.0 778.125) (float-vector 642.427 300.0 835.779) (float-vector 642.427 174.225 835.779) (float-vector 654.545 185.0 796.34) (float-vector 660.141 180.023 778.125)))
         (instance face :init :vertices (list (float-vector 660.141 -300.0 778.125) (float-vector 660.141 -180.023 778.125) (float-vector 654.545 -185.0 796.34) (float-vector 642.427 -174.225 835.779) (float-vector 642.427 -300.0 835.779)))
         (instance face :init :vertices (list (float-vector 675.25 300.0 719.017) (float-vector 660.141 300.0 778.125) (float-vector 660.141 180.023 778.125) (float-vector 675.25 164.283 719.017)))
         (instance face :init :vertices (list (float-vector 675.25 -300.0 719.017) (float-vector 675.25 -164.283 719.017) (float-vector 660.141 -180.023 778.125) (float-vector 660.141 -300.0 778.125)))
         (instance face :init :vertices (list (float-vector 687.694 300.0 658.69) (float-vector 675.25 300.0 719.017) (float-vector 675.25 164.283 719.017) (float-vector 678.482 160.215 703.35) (float-vector 687.694 116.932 658.69)))
         (instance face :init :vertices (list (float-vector 687.694 -300.0 658.69) (float-vector 687.694 -116.932 658.69) (float-vector 678.482 -160.215 703.35) (float-vector 675.25 -164.283 719.017) (float-vector 675.25 -300.0 719.017)))
         (instance face :init :vertices (list (float-vector 697.424 -300.0 597.381) (float-vector 697.424 300.0 597.381) (float-vector 687.694 300.0 658.69) (float-vector 687.694 116.932 658.69) (float-vector 691.795 92.5 632.846) (float-vector 695.956 0.0 606.629) (float-vector 691.795 -92.5 632.846) (float-vector 687.694 -116.932 658.69) (float-vector 687.694 -300.0 658.69)))
         (instance face :init :vertices (list (float-vector 704.401 -300.0 535.333) (float-vector 704.401 300.0 535.333) (float-vector 697.424 300.0 597.381) (float-vector 697.424 -300.0 597.381)))
         (instance face :init :vertices (list (float-vector 708.599 -300.0 472.791) (float-vector 708.599 300.0 472.791) (float-vector 704.401 300.0 535.333) (float-vector 704.401 -300.0 535.333)))
         (instance face :init :vertices (list (float-vector 710.0 -300.0 410.0) (float-vector 710.0 300.0 410.0) (float-vector 708.599 300.0 472.791) (float-vector 708.599 -300.0 472.791)))
         (instance face :init :vertices (list (float-vector 710.0 -300.0 0.0) (float-vector 710.0 300.0 0.0) (float-vector 710.0 300.0 410.0) (float-vector 710.0 -300.0 410.0)))
         (instance face :init :vertices (list (float-vector 0.0 -300.0 0.0) (float-vector 0.0 300.0 0.0) (float-vector 710.0 300.0 0.0) (float-vector 710.0 -300.0 0.0)))
         (instance face :init :vertices (list (float-vector 0.0 -300.0 1110.0) (float-vector 0.0 300.0 1110.0) (float-vector 0.0 300.0 0.0) (float-vector 0.0 -300.0 0.0)))
         (instance face :init :vertices (list (float-vector 517.568 300.0 1094.55) (float-vector 547.064 300.0 1047.42) (float-vector 574.402 300.0 997.785) (float-vector 599.473 300.0 945.827) (float-vector 622.178 300.0 891.754) (float-vector 642.427 300.0 835.779) (float-vector 660.141 300.0 778.125) (float-vector 675.25 300.0 719.017) (float-vector 687.694 300.0 658.69) (float-vector 697.424 300.0 597.381) (float-vector 704.401 300.0 535.333) (float-vector 708.599 300.0 472.791) (float-vector 710.0 300.0 410.0) (float-vector 710.0 300.0 0.0) (float-vector 0.0 300.0 0.0) (float-vector 0.0 300.0 1110.0)))
         (instance face :init :vertices (list (float-vector 0.0 -300.0 1110.0) (float-vector 0.0 -300.0 0.0) (float-vector 710.0 -300.0 0.0) (float-vector 710.0 -300.0 410.0) (float-vector 708.599 -300.0 472.791) (float-vector 704.401 -300.0 535.333) (float-vector 697.424 -300.0 597.381) (float-vector 687.694 -300.0 658.69) (float-vector 675.25 -300.0 719.017) (float-vector 660.141 -300.0 778.125) (float-vector 642.427 -300.0 835.779) (float-vector 622.178 -300.0 891.754) (float-vector 599.473 -300.0 945.827) (float-vector 574.402 -300.0 997.785) (float-vector 547.064 -300.0 1047.42) (float-vector 517.568 -300.0 1094.55)))
         (instance face :init :vertices (list (float-vector 517.568 -300.0 1094.55) (float-vector 517.568 300.0 1094.55) (float-vector 0.0 300.0 1110.0) (float-vector 0.0 -300.0 1110.0)))
         (instance face :init :vertices (list (float-vector 695.956 0.0 606.629) (float-vector 691.795 92.5 632.846) (float-vector 585.107 92.5 571.25) (float-vector 597.5 0.0 549.785)))
         (instance face :init :vertices (list (float-vector 585.107 92.5 571.25) (float-vector 691.795 92.5 632.846) (float-vector 687.694 116.932 658.69) (float-vector 678.482 160.215 703.35) (float-vector 551.25 160.215 629.893)))
         (instance face :init :vertices (list (float-vector 551.25 160.215 629.893) (float-vector 678.482 160.215 703.35) (float-vector 675.25 164.283 719.017) (float-vector 660.141 180.023 778.125) (float-vector 654.545 185.0 796.34) (float-vector 505.0 185.0 710.0)))
         (instance face :init :vertices (list (float-vector 505.0 185.0 710.0) (float-vector 654.545 185.0 796.34) (float-vector 642.427 174.225 835.779) (float-vector 624.36 160.215 885.722) (float-vector 458.75 160.215 790.107)))
         (instance face :init :vertices (list (float-vector 458.75 160.215 790.107) (float-vector 624.36 160.215 885.722) (float-vector 622.178 153.9 891.754) (float-vector 599.473 95.7191 945.827) (float-vector 598.07 92.5 948.734) (float-vector 424.893 92.5 848.75)))
         (instance face :init :vertices (list (float-vector 424.893 92.5 848.75) (float-vector 598.07 92.5 948.734) (float-vector 587.269 2.273737e-13 971.118) (float-vector 412.5 2.273737e-13 870.215)))
         (instance face :init :vertices (list (float-vector 412.5 2.273737e-13 870.215) (float-vector 587.269 2.273737e-13 971.118) (float-vector 598.07 -92.5 948.734) (float-vector 424.893 -92.5 848.75)))
         (instance face :init :vertices (list (float-vector 424.893 -92.5 848.75) (float-vector 598.07 -92.5 948.734) (float-vector 599.473 -95.7191 945.827) (float-vector 622.178 -153.9 891.754) (float-vector 624.36 -160.215 885.722) (float-vector 458.75 -160.215 790.107)))
         (instance face :init :vertices (list (float-vector 458.75 -160.215 790.107) (float-vector 624.36 -160.215 885.722) (float-vector 642.427 -174.225 835.779) (float-vector 654.545 -185.0 796.34) (float-vector 505.0 -185.0 710.0)))
         (instance face :init :vertices (list (float-vector 505.0 -185.0 710.0) (float-vector 654.545 -185.0 796.34) (float-vector 660.141 -180.023 778.125) (float-vector 675.25 -164.283 719.017) (float-vector 678.482 -160.215 703.35) (float-vector 551.25 -160.215 629.893)))
         (instance face :init :vertices (list (float-vector 551.25 -160.215 629.893) (float-vector 678.482 -160.215 703.35) (float-vector 687.694 -116.932 658.69) (float-vector 691.795 -92.5 632.846) (float-vector 585.107 -92.5 571.25)))
         (instance face :init :vertices (list (float-vector 585.107 -92.5 571.25) (float-vector 691.795 -92.5 632.846) (float-vector 695.956 0.0 606.629) (float-vector 597.5 0.0 549.785)))
         (instance face :init :vertices (list (float-vector 597.5 0.0 549.785) (float-vector 585.107 92.5 571.25) (float-vector 551.25 160.215 629.893) (float-vector 505.0 185.0 710.0) (float-vector 458.75 160.215 790.107) (float-vector 424.893 92.5 848.75) (float-vector 412.5 2.273737e-13 870.215) (float-vector 424.893 -92.5 848.75) (float-vector 458.75 -160.215 790.107) (float-vector 505.0 -185.0 710.0) (float-vector 551.25 -160.215 629.893) (float-vector 585.107 -92.5 571.25)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (setq blink0 (instance bodyset-link :init (make-cascoords) :bodies bc :name 'b0 :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 'button
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 21.6506 -12.5 10.0) (float-vector 25.0 0.0 10.0) (float-vector 21.6506 12.5 10.0) (float-vector 12.5 21.6506 10.0) (float-vector 0.0 25.0 10.0) (float-vector -12.5 21.6506 10.0) (float-vector -21.6506 12.5 10.0) (float-vector -25.0 2.842171e-14 10.0) (float-vector -21.6506 -12.5 10.0) (float-vector -12.5 -21.6506 10.0) (float-vector -5.684342e-14 -25.0 10.0) (float-vector 12.5 -21.6506 10.0)))
         (instance face :init :vertices (list (float-vector 25.0 0.0 1.136868e-13) (float-vector 21.6506 -12.5 0.0) (float-vector 12.5 -21.6506 1.136868e-13) (float-vector 0.0 -25.0 0.0) (float-vector -12.5 -21.6506 0.0) (float-vector -21.6506 -12.5 0.0) (float-vector -25.0 2.842171e-14 0.0) (float-vector -21.6506 12.5 0.0) (float-vector -12.5 21.6506 0.0) (float-vector 0.0 25.0 0.0) (float-vector 12.5 21.6506 0.0) (float-vector 21.6506 12.5 0.0)))
         (instance face :init :vertices (list (float-vector 21.6506 -12.5 10.0) (float-vector 21.6506 -12.5 0.0) (float-vector 25.0 0.0 1.136868e-13) (float-vector 25.0 0.0 10.0)))
         (instance face :init :vertices (list (float-vector 12.5 -21.6506 10.0) (float-vector 12.5 -21.6506 1.136868e-13) (float-vector 21.6506 -12.5 0.0) (float-vector 21.6506 -12.5 10.0)))
         (instance face :init :vertices (list (float-vector -5.684342e-14 -25.0 10.0) (float-vector 0.0 -25.0 0.0) (float-vector 12.5 -21.6506 1.136868e-13) (float-vector 12.5 -21.6506 10.0)))
         (instance face :init :vertices (list (float-vector -12.5 -21.6506 10.0) (float-vector -12.5 -21.6506 0.0) (float-vector 0.0 -25.0 0.0) (float-vector -5.684342e-14 -25.0 10.0)))
         (instance face :init :vertices (list (float-vector -21.6506 -12.5 10.0) (float-vector -21.6506 -12.5 0.0) (float-vector -12.5 -21.6506 0.0) (float-vector -12.5 -21.6506 10.0)))
         (instance face :init :vertices (list (float-vector -25.0 2.842171e-14 10.0) (float-vector -25.0 2.842171e-14 0.0) (float-vector -21.6506 -12.5 0.0) (float-vector -21.6506 -12.5 10.0)))
         (instance face :init :vertices (list (float-vector -21.6506 12.5 10.0) (float-vector -21.6506 12.5 0.0) (float-vector -25.0 2.842171e-14 0.0) (float-vector -25.0 2.842171e-14 10.0)))
         (instance face :init :vertices (list (float-vector -12.5 21.6506 10.0) (float-vector -12.5 21.6506 0.0) (float-vector -21.6506 12.5 0.0) (float-vector -21.6506 12.5 10.0)))
         (instance face :init :vertices (list (float-vector 0.0 25.0 10.0) (float-vector 0.0 25.0 0.0) (float-vector -12.5 21.6506 0.0) (float-vector -12.5 21.6506 10.0)))
         (instance face :init :vertices (list (float-vector 12.5 21.6506 10.0) (float-vector 12.5 21.6506 0.0) (float-vector 0.0 25.0 0.0) (float-vector 0.0 25.0 10.0)))
         (instance face :init :vertices (list (float-vector 21.6506 12.5 10.0) (float-vector 21.6506 12.5 0.0) (float-vector 12.5 21.6506 0.0) (float-vector 12.5 21.6506 10.0)))
         (instance face :init :vertices (list (float-vector 25.0 0.0 10.0) (float-vector 25.0 0.0 1.136868e-13) (float-vector 21.6506 12.5 0.0) (float-vector 21.6506 12.5 10.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (setq blink2 (instance bodyset-link :init (make-cascoords) :bodies bc :name 'button :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 'cap
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 151.554 122.5 30.0) (float-vector 175.0 210.0 30.0) (float-vector 151.554 297.5 30.0) (float-vector 87.5 361.554 30.0) (float-vector 1.705303e-13 385.0 30.0) (float-vector -87.5 361.554 30.0) (float-vector -151.554 297.5 30.0) (float-vector -175.0 210.0 30.0) (float-vector -151.554 122.5 30.0) (float-vector -87.5 58.4456 30.0) (float-vector -2.842171e-13 35.0 30.0) (float-vector 87.5 58.4456 30.0)))
         (instance face :init :vertices (list (float-vector 175.0 210.0 0.0) (float-vector 151.554 122.5 -1.136868e-13) (float-vector 87.5 58.4456 0.0) (float-vector -2.842171e-13 35.0 0.0) (float-vector -87.5 58.4456 0.0) (float-vector -151.554 122.5 0.0) (float-vector -175.0 210.0 0.0) (float-vector -151.554 297.5 0.0) (float-vector -87.5 361.554 0.0) (float-vector 1.136868e-13 385.0 0.0) (float-vector 87.5 361.554 0.0) (float-vector 151.554 297.5 0.0)))
         (instance face :init :vertices (list (float-vector 151.554 122.5 30.0) (float-vector 151.554 122.5 -1.136868e-13) (float-vector 175.0 210.0 0.0) (float-vector 175.0 210.0 30.0)))
         (instance face :init :vertices (list (float-vector 87.5 58.4456 30.0) (float-vector 87.5 58.4456 0.0) (float-vector 151.554 122.5 -1.136868e-13) (float-vector 151.554 122.5 30.0)))
         (instance face :init :vertices (list (float-vector -2.842171e-13 35.0 30.0) (float-vector -2.842171e-13 35.0 0.0) (float-vector 87.5 58.4456 0.0) (float-vector 87.5 58.4456 30.0)))
         (instance face :init :vertices (list (float-vector -87.5 58.4456 30.0) (float-vector -87.5 58.4456 0.0) (float-vector -2.842171e-13 35.0 0.0) (float-vector -2.842171e-13 35.0 30.0)))
         (instance face :init :vertices (list (float-vector -151.554 122.5 30.0) (float-vector -151.554 122.5 0.0) (float-vector -87.5 58.4456 0.0) (float-vector -87.5 58.4456 30.0)))
         (instance face :init :vertices (list (float-vector -175.0 210.0 30.0) (float-vector -175.0 210.0 0.0) (float-vector -151.554 122.5 0.0) (float-vector -151.554 122.5 30.0)))
         (instance face :init :vertices (list (float-vector -151.554 297.5 30.0) (float-vector -151.554 297.5 0.0) (float-vector -175.0 210.0 0.0) (float-vector -175.0 210.0 30.0)))
         (instance face :init :vertices (list (float-vector -87.5 361.554 30.0) (float-vector -87.5 361.554 0.0) (float-vector -151.554 297.5 0.0) (float-vector -151.554 297.5 30.0)))
         (instance face :init :vertices (list (float-vector 1.705303e-13 385.0 30.0) (float-vector 1.136868e-13 385.0 0.0) (float-vector -87.5 361.554 0.0) (float-vector -87.5 361.554 30.0)))
         (instance face :init :vertices (list (float-vector 87.5 361.554 30.0) (float-vector 87.5 361.554 0.0) (float-vector 1.136868e-13 385.0 0.0) (float-vector 1.705303e-13 385.0 30.0)))
         (instance face :init :vertices (list (float-vector 151.554 297.5 30.0) (float-vector 151.554 297.5 0.0) (float-vector 87.5 361.554 0.0) (float-vector 87.5 361.554 30.0)))
         (instance face :init :vertices (list (float-vector 175.0 210.0 30.0) (float-vector 175.0 210.0 0.0) (float-vector 151.554 297.5 0.0) (float-vector 151.554 297.5 30.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 215.0 210.0 0.0) (float-vector 186.195 317.5 0.0) (float-vector 186.195 317.5 30.0) (float-vector 215.0 210.0 30.0)))
         (instance face :init :vertices (list (float-vector 107.5 396.195 1.136868e-13) (float-vector 107.5 396.195 30.0) (float-vector 186.195 317.5 30.0) (float-vector 186.195 317.5 0.0)))
         (instance face :init :vertices (list (float-vector 1.136868e-13 425.0 0.0) (float-vector 1.705303e-13 425.0 30.0) (float-vector 107.5 396.195 30.0) (float-vector 107.5 396.195 1.136868e-13)))
         (instance face :init :vertices (list (float-vector -107.5 396.195 0.0) (float-vector -107.5 396.195 30.0) (float-vector 1.705303e-13 425.0 30.0) (float-vector 1.136868e-13 425.0 0.0)))
         (instance face :init :vertices (list (float-vector -186.195 317.5 0.0) (float-vector -186.195 317.5 30.0) (float-vector -107.5 396.195 30.0) (float-vector -107.5 396.195 0.0)))
         (instance face :init :vertices (list (float-vector -215.0 210.0 0.0) (float-vector -215.0 210.0 30.0) (float-vector -186.195 317.5 30.0) (float-vector -186.195 317.5 0.0)))
         (instance face :init :vertices (list (float-vector -186.195 102.5 0.0) (float-vector -186.195 102.5 30.0) (float-vector -215.0 210.0 30.0) (float-vector -215.0 210.0 0.0)))
         (instance face :init :vertices (list (float-vector -107.5 23.8045 0.0) (float-vector -107.5 23.8045 30.0) (float-vector -186.195 102.5 30.0) (float-vector -186.195 102.5 0.0)))
         (instance face :init :vertices (list (float-vector -3.979039e-13 -5.0 0.0) (float-vector -3.979039e-13 -5.0 30.0) (float-vector -107.5 23.8045 30.0) (float-vector -107.5 23.8045 0.0)))
         (instance face :init :vertices (list (float-vector 107.5 23.8045 0.0) (float-vector 107.5 23.8045 30.0) (float-vector -3.979039e-13 -5.0 30.0) (float-vector -3.979039e-13 -5.0 0.0)))
         (instance face :init :vertices (list (float-vector 186.195 102.5 0.0) (float-vector 186.195 102.5 30.0) (float-vector 107.5 23.8045 30.0) (float-vector 107.5 23.8045 0.0)))
         (instance face :init :vertices (list (float-vector 215.0 210.0 30.0) (float-vector 186.195 317.5 30.0) (float-vector 107.5 396.195 30.0) (float-vector 1.705303e-13 425.0 30.0) (float-vector -107.5 396.195 30.0) (float-vector -186.195 317.5 30.0) (float-vector -215.0 210.0 30.0) (float-vector -186.195 102.5 30.0) (float-vector -107.5 23.8045 30.0) (float-vector -3.979039e-13 -5.0 30.0) (float-vector 107.5 23.8045 30.0) (float-vector 186.195 102.5 30.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 151.554 122.5 30.0) (float-vector 87.5 58.4456 30.0) (float-vector -2.842171e-13 35.0 30.0) (float-vector -87.5 58.4456 30.0) (float-vector -151.554 122.5 30.0) (float-vector -175.0 210.0 30.0) (float-vector -151.554 297.5 30.0) (float-vector -87.5 361.554 30.0) (float-vector 1.705303e-13 385.0 30.0) (float-vector 87.5 361.554 30.0) (float-vector 151.554 297.5 30.0) (float-vector 175.0 210.0 30.0)))
))
         (instance face :init :vertices (list (float-vector 186.195 102.5 0.0) (float-vector 107.5 23.8045 0.0) (float-vector -3.979039e-13 -5.0 0.0) (float-vector -107.5 23.8045 0.0) (float-vector -186.195 102.5 0.0) (float-vector -215.0 210.0 0.0) (float-vector -186.195 317.5 0.0) (float-vector -107.5 396.195 0.0) (float-vector 1.136868e-13 425.0 0.0) (float-vector 107.5 396.195 1.136868e-13) (float-vector 186.195 317.5 0.0) (float-vector 215.0 210.0 0.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 175.0 210.0 0.0) (float-vector 151.554 297.5 0.0) (float-vector 87.5 361.554 0.0) (float-vector 1.136868e-13 385.0 0.0) (float-vector -87.5 361.554 0.0) (float-vector -151.554 297.5 0.0) (float-vector -175.0 210.0 0.0) (float-vector -151.554 122.5 0.0) (float-vector -87.5 58.4456 0.0) (float-vector -2.842171e-13 35.0 0.0) (float-vector 87.5 58.4456 0.0) (float-vector 151.554 122.5 -1.136868e-13)))
))
         (instance face :init :vertices (list (float-vector 215.0 210.0 0.0) (float-vector 215.0 210.0 30.0) (float-vector 186.195 102.5 30.0) (float-vector 186.195 102.5 0.0)))
         (instance face :init :vertices (list (float-vector 175.0 210.0 30.0) (float-vector 151.554 297.5 30.0) (float-vector 151.554 297.5 0.0) (float-vector 175.0 210.0 0.0)))
         (instance face :init :vertices (list (float-vector 151.554 297.5 0.0) (float-vector 151.554 297.5 30.0) (float-vector 87.5 361.554 30.0) (float-vector 87.5 361.554 0.0)))
         (instance face :init :vertices (list (float-vector 87.5 361.554 0.0) (float-vector 87.5 361.554 30.0) (float-vector 1.705303e-13 385.0 30.0) (float-vector 1.136868e-13 385.0 0.0)))
         (instance face :init :vertices (list (float-vector 1.136868e-13 385.0 0.0) (float-vector 1.705303e-13 385.0 30.0) (float-vector -87.5 361.554 30.0) (float-vector -87.5 361.554 0.0)))
         (instance face :init :vertices (list (float-vector -87.5 361.554 0.0) (float-vector -87.5 361.554 30.0) (float-vector -151.554 297.5 30.0) (float-vector -151.554 297.5 0.0)))
         (instance face :init :vertices (list (float-vector -151.554 297.5 0.0) (float-vector -151.554 297.5 30.0) (float-vector -175.0 210.0 30.0) (float-vector -175.0 210.0 0.0)))
         (instance face :init :vertices (list (float-vector -175.0 210.0 0.0) (float-vector -175.0 210.0 30.0) (float-vector -151.554 122.5 30.0) (float-vector -151.554 122.5 0.0)))
         (instance face :init :vertices (list (float-vector -151.554 122.5 0.0) (float-vector -151.554 122.5 30.0) (float-vector -87.5 58.4456 30.0) (float-vector -87.5 58.4456 0.0)))
         (instance face :init :vertices (list (float-vector -87.5 58.4456 0.0) (float-vector -87.5 58.4456 30.0) (float-vector -2.842171e-13 35.0 30.0) (float-vector -2.842171e-13 35.0 0.0)))
         (instance face :init :vertices (list (float-vector -2.842171e-13 35.0 0.0) (float-vector -2.842171e-13 35.0 30.0) (float-vector 87.5 58.4456 30.0) (float-vector 87.5 58.4456 0.0)))
         (instance face :init :vertices (list (float-vector 87.5 58.4456 0.0) (float-vector 87.5 58.4456 30.0) (float-vector 151.554 122.5 30.0) (float-vector 151.554 122.5 -1.136868e-13)))
         (instance face :init :vertices (list (float-vector 151.554 122.5 -1.136868e-13) (float-vector 151.554 122.5 30.0) (float-vector 175.0 210.0 30.0) (float-vector 175.0 210.0 0.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :gray80)
     (gl::transparent (elt bc 0) 0.5)
     (send (elt bc 1) :set-color :gray60)
     (setq blink1 (instance bodyset-link :init (make-cascoords) :bodies bc :name 'cap :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 640.0 -210.0 770.0) :rot #2f((0.34202 0.0 0.939693) (0.0 1.0 0.0) (-0.939693 0.0 0.34202))))
     (send blink0 :assoc blink1)
     (send blink2 :newcoords (make-coords :pos (float-vector 600.0 240.0 930.0) :rot #2f((0.5 0.0 0.866025) (0.0 1.0 0.0) (-0.866025 0.0 0.5))))
     (send blink0 :assoc blink2)
     (send self :assoc blink0)

     ;; definition of end-coords

     ;; definition of joint

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

     ;; definition of :joint1
     (setq joint1 (instance linear-joint :init
			     :parent-link blink0 :child-link blink2 :name :joint1    :axis (float-vector 0.0 0.0 1.0)
			     :min  -90.0 :max   90.0 :max-joint-velocity 0.785398 :max-joint-torque 100))


     ;; definition of :handle
     (setq handle0 (make-cascoords :pos (float-vector 505.0 0.0 580.0) :rot #2f((0.5 0.0 0.866025) (0.0 1.0 0.0) (-0.866025 0.0 0.5)) :name "contents"))
     (send blink0 :assoc handle0)
     (setq handle1 (make-cascoords :pos (float-vector 640.0 190.0 770.0) :rot #2f((-3.330669e-16 -0.34202 -0.939693) (-1.0 4.440892e-16 1.665335e-16) (3.330669e-16 0.939693 -0.34202)) :name "handle-cap"))
     (send blink1 :assoc handle1)
     (setq handle2 (make-cascoords :pos (float-vector 600.0 240.0 930.0) :rot #2f((0.5 0.0 0.866025) (0.0 1.0 0.0) (-0.866025 0.0 0.5)) :name "open-button"))
     (send blink2 :assoc handle2)

     ;; definition of :button
     (setq button0 (make-cascoords :pos (float-vector 600.0 240.0 930.0) :rot #2f((0.5 0.0 0.866025) (0.0 1.0 0.0) (-0.866025 0.0 0.5)) :name "open"))
     (send blink0 :assoc button0)

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

     self))

  (:joint0 (&rest args) (forward-message-to joint0 args))
  (:joint1 (&rest args) (forward-message-to joint1 args))
  (:handle (&rest args) (forward-message-to-all (list  handle0 handle1 handle2) args))
  (:handle-contents (&rest args) (forward-message-to handle0 args))
  (:handle-handle-cap (&rest args) (forward-message-to handle1 args))
  (:handle-open-button (&rest args) (forward-message-to handle2 args))
  (:attention (&rest args) (forward-message-to-all (list ) args))
  (:button (&rest args) (forward-message-to-all (list  button0) args))
  (:button-open (&rest args) (forward-message-to button0 args))
  )

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