From inaba@jsk.u-tokyo.junet Tue Jul 11 16:03:07 1989
Received: from etlcom.etl.junet by etlic2.etl.junet (3.2/6.3Junet-1.0)
	id AA17956; Tue, 11 Jul 89 16:03:03 JST
Received: by etlcom.etl.junet (5.51/6.3Junet-1.0)
	id AA00587; Tue, 11 Jul 89 16:04:19 JST
Received: from ccutrd by titcca.cc.titech.junet (5.61/6.4J.1)
	id AA17186; Tue, 11 Jul 89 16:00:35 +0900
Received: from jsk by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut1.30)
	id AA23542; Tue, 11 Jul 89 16:07:49 +0900
Received: from grus.jsk.u-tokyo.junet (grus.ARPA) by jsk.jsk.u-tokyo.junet (1.00/6.3Junet-1.0)
	id AA00209; Wed, 12 Jul 89 01:02:43 jst
Received: by grus.jsk.u-tokyo.junet (3.2/6.3Junet-1.0)
	id AA27117; Tue, 11 Jul 89 16:09:04 JST
Date: Tue, 11 Jul 89 16:09:04 JST
From: inaba@jsk.u-tokyo.junet (Masayuki Inaba)
Return-Path: <inaba@jsk.u-tokyo.junet>
Message-Id: <8907110709.AA27117@grus.jsk.u-tokyo.junet>
To: matsui@etlic2.etl.junet
In-Reply-To: Toshihiro MATSUI's message of Tue, 11 Jul 89 13:46:48 JST <8907110446.AA16835@etlic2.etl.junet>
Subject: viewsurface
Status: RO

   >>Date: Tue, 11 Jul 89 13:46:48 JST
   >>From: matsui@etlic2.etl.junet (Toshihiro MATSUI)
   >>
   >>According to your definition of viewport, scaling information
   >>is included in rot matrix. For example, if you have a viewport
   >>of 300*300, rot is #2f((300 0 0) (0 300 0) (0 0 1)). Then, if
   >>you try to :translate it by #f(1 1 0), the rot is applied to this
   >>vector, and the viewport moves #f(300 300 0).  I think this
   >>is inconvenient.

It looks like inconvinient. But, #f(1 1 0), you mentioned above,
should be assumed as a local vector in the coordinates which is
defined by #2f((300 0 0) (0 300 0) ( 0 0 1)).
When we want to move the local coordinates 'Viewport' to
#f(300 300 0) in the viewsurface coordinates,
it is ok by using
(send viewport :translate #f(300 300 0) 'world), isn't it?

   >>Scaling parameter should be held independently, shouldn't it?

I'm not sure, but I am afraid the redundancy makes some bad effects.

From fujii@jsk.t.u-tokyo.ac.jp Sat Feb  3 14:48:19 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA02967; Sat, 3 Feb 90 05:48:18 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA20716; Sat, 3 Feb 90 14:47:59 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA24500; Sat, 3 Feb 90 14:47:07 +0900
Received: from jsk by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.23)
	id AA10435; Sat, 3 Feb 90 14:47:18 +0900
Received: from centaurus.jsk.t.u-tokyo.ac.j by pegasus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA00192; Sat, 3 Feb 90 14:43:41 JST
Received: by centaurus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA00262; Sat, 3 Feb 90 14:07:16 JST
Date: Sat, 3 Feb 90 14:07:16 JST
From: fujii@jsk.t.u-tokyo.ac.jp (Fujii Makoto)
Return-Path: <fujii>
Message-Id: <9002030507.AA00262@centaurus.jsk.t.u-tokyo.ac.jp>
To: euslisp@etl.go.jp
Subject: Bug? in geopack
Status: RO

$@ElBg(J $@$N(J $@F#0f$G$9!#(J
$@:G6a$a$C$-$j$3$N%a%$%j%s%0%j%9%H$bEj9F$,>/$J$/$J$j$^$7$?$M!#(J
$@0BDj$7$F;H$o$l$F$$$k>Z5r$G$7$g$&$+!#(J
$@$H$3$m$G!"(Jgeopack.l$@$N(J closed-region$@$KBP$9$k%a%=%C%I$G!"(J

 (:init (&key ((:vertices ver)) ((:edges edg))
	      ((:normal nor)) ((:distance dis)))
    ;prepare edges and vertices
    (cond 
	(edg
         (setq edges edg)
	 (when (null ver)
             (dolist (e edg)  (push (send e :nvertex (send self :face)) ver))
	     (nreverse ver)
	     (setq vertices (cons (send (car edg) :pvertex (send self :face))
			          ver))))
        (ver	;no edges given; vertices are used to make new edges
	 (setq vertices (append (last ver) ver))
	 (while ver
	   (push (instance *edge-class* :init
				:pvertex (pop ver)
	;;;;			:nvertex (if ver (car ver) (car vertices))
	;;;;	$@$3$N>e$N9T$O$^$A$,$$$G!"(J              $@$3$3$r(J^^^ 
				:nvertex (if ver (car ver) (cadr vertices))
	;;					    $@$3$&$7$?(J ^^^^ 
	;;      $@$i$$$$$s$G$7$g$&$M!#(J
				:pface self)
		 edges))
	 (nreverse edges))) 
    (if nor (setq normal nor) (send self :reset-normal))
    (if dis (setq distance dis))
    (setq model-normal (copy-seq normal)
	  model-distance distance)
    ; compute convexp
    (let ((verts (append vertices (list (cadr vertices)))))
       (setq convexp t)
       (while (cddr verts)
	  (when (< (triangle (pop verts) (car verts) (cadr verts) normal) 0.0)
	      (setq convexp nil verts nil))))
    self)
 )
$@$b$C$H$b!"<j:n$j$G(Jclosed-region$@$d(Jface$@$r:n$k$s$G$J$$$+$.$j!"LdBj$J$$$H(J
$@;W$&$N$G$9$,!#(J($@$U$D$&$O(Jmake-cube$@$H$+$G:n$j$^$9$b$s$M!#(J)
 $@OC$OJQ$o$k$N$G$9$,!"(Jpropertied-object$@$C$FJXMx$G$9$M!#$J$s$G$b(J
propertied-object $@$K$7$F$*$1$P!"$"$H$G5!G=3HD%$9$k$H$-$K%5%V%/%i%9$r$D(J
$@$/$i$J$/$F$b$7$N$2$=$&!#(J

             $@F#0f(J   $@@?(J  Fujii Makoto
           $@El5~Bg3X9)3X7O8&5f2J(J $@5!3#9)3X@l96(J
           $@0f>e!&0pMU8&5f<<(J $@=$;N(J2$@G/(J 
           fujii@jsk.t.u-tokyo.ac.jp


From inaba@jsk.t.u-tokyo.ac.jp Sat Feb  3 19:52:42 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA03057; Sat, 3 Feb 90 10:52:41 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA26591; Sat, 3 Feb 90 19:52:29 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA00686; Sat, 3 Feb 90 19:51:51 +0900
Received: from cetus by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.23)
	id AA19119; Sat, 3 Feb 90 19:52:02 +0900
Received: from grus.jsk.t.u-tokyo.ac.jp (grus.ARPA) by cetus.jsk.t.u-tokyo.ac.jp (1.00/6.4J.6)
	id AA00593; Sun, 4 Feb 90 04:52:46 jst
Received: by grus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA20926; Sat, 3 Feb 90 20:03:45 JST
Date: Sat, 3 Feb 90 20:03:45 JST
From: inaba@jsk.t.u-tokyo.ac.jp (Masayuki Inaba)
Return-Path: <inaba@jsk.t.u-tokyo.ac.jp>
Message-Id: <9002031103.AA20926@grus.jsk.t.u-tokyo.ac.jp>
To: matsui@etl.go.jp
Subject: inspect.l
Status: RO


$@:rF|$OCY$/$^$G$*@$OC$K$J$j$"$j$,$H$&$4$6$$$^$7$?!#(J
slot$@$NCM$r=q$-49$($k5!G=$H!"%^%/%m$K$9$k$3$H$G!"(J
$@:G=i$KM?$($i$l$kJQ?tL>$NCM$,%f!<%6%W%m%0%i%`$NCf$GCV49$($i$l$?$i(J
(winspect)$@$HL50z?t$G8F$V$3$H$G%&%#%s%I%&$NI=<($,$=$NCM$GCV$-49$($i$l$k(J
$@$h$&$J5!G=$r$D$1$^$7$?!#$3$NFs$DL\$N5!G=$r%M%9%H$5$l$?%&%#%s%I%&(J
$@$KBP$7$F$b<B9T$5$l$k$h$&$K!"?F$+$i$N%j%s%/$r$9$Y$F;}$?$;$F$$$^$9!#(J

Xview$@$NJ}$G$O!":rF|5"$j$,$1$K$*OC$7$?M}M3$G!"%&%#%s%I%&=i4|2=$,(J
$@$G$-$J$$$N$G!"%&%#%s%I%&$,=P$?$"$H(JUpdate$@%\%?%s$r2!$5$J$$$HI=<($,(J
$@$J$5$l$^$;$s!#(J

$@;n$7$F$_$F$/$@$5$$!#(J

-------------------------winspect.l------------------------
;;;
;;;		Window-based Inspecter 1990.2.2
;;;					by M.Inaba and T.Matsui
;;;	(winspect variable)
;;;	or
;;;	(winspect) -> update the display like "Update" button
;;;
;;;    Usage:
;;;(1) Interactive inspecting
;;;	eusview$ (setq a (make-cube 10 20 30))
;;;	eusview$ (winspect a)
;;;
;;;	Select slot's line by mouse in textsw.
;;;	Push Inspect button
;;;	then a inspect window will be displayed under the window.
;;;
;;;(2) Value monitoring
;;;	The name of global variable 'a is memorized. If you update
;;;	the value of a, such as
;;;	eusview$ (setq a (make-cube 100 100 100))
;;;	and call winspect again like
;;;	eusview$ (winspect)
;;;	then the display in all of the inspect windows updated.
;;;
;;;(3) Slot value editing function
;;;	Select slot in a textsw, for example 'pos' of 'a'.
;;;	Set a form in the text item like, '#f(100 100 100).
;;;	then the value of (a . pos) is changed to #f(100 100 100).
;;;
;;;
(format t "(winspect variable)~%")
;;;
(defvar *winspect-window*)
(defmacro winspect (&optional sym)
  `(cond
    ((null ,sym)
     (send *winspect-window* :button-update))
    (t
     (setq *winspect-window*
	   (instance class-inspect :init ',sym)))))

(defun truncate-string (str len)
   (if (> (length str) len) (subseq str 0 len) str))

(defun inspect2 (obj &optional (line-length 60))
  (let ( ;(*print-structure* t) (*print-circle* t)
	(*print-length* 10)
	klass rlist len)
    (cond ((numberp obj) obj)
	  ((vectorp obj)
	   (dotimes (i (length obj))
		    (push (list i (truncate-string
				   (prin1-to-string (aref obj i))
				   line-length))
			  rlist)) )
	  ((consp obj)
	   (setq len (length obj))
	   (dotimes (i len)
		    (push (list i (truncate-string
				   (prin1-to-string (pop obj))
				   line-length)) rlist)))
	  (t	;not a vector
	   (setq vars (metaclass-vars (setq klass  (class obj))))
	   (dotimes (i (length vars))
		    (push (list (svref vars i)
				(truncate-string
				 (prin1-to-string (slot obj klass i))
				 line-length))
			  rlist))))
    (nreverse rlist)))
;;;
(defclass class-inspect :super sunview-frame
  :slots (textsw panel
		 parent-index
		 target-object
		 slot-value-list
		 children))
(defmethod class-inspect
  (:select-slot-name
   (&optional (i (send textsw :insertion-point)))
   (let ((contents (send textsw :get-contents)))
     (while (and (>= i 0) (< i (length contents)))
       (if (memq
	    (elt contents i)
	    '(13 10))
	   (return-from :select-slot-name
			(read-from-string (subseq contents i) nil "")))
       (if (<= i 0)
	   (return-from :select-slot-name
			(car slot-value-list)))
       (setq i (1- i)))))
  (:button-inspect
   (&optional item event)
   (setq item (send self :select-slot-name))
   (print item)
   (setq item (assoc item slot-value-list))
   (print item)
   (if (null item) (return-from :button-inspect nil))
   (push
    (instance class-inspect :init
	      (list self (car item))
	      (float-vector (send self :x)
			    (+ 2 (send self :y) (send self :height))))
    children))
  (:text-set
   (&optional value item event)
   (let ((v (eval (read-from-string value)))
	 slot)
     (setq item (send self :select-slot-name))
     (print item)
     (setq item (assoc item slot-value-list))
     (print item)
     (print target-object)
     (cond
      ((null item))
      ((and (numberp (setq slot (car item)))
	    (or (vectorp target-object)
		(consp target-object)))
       (setf (elt target-object slot) v))
      (t (setslot target-object (class target-object) slot v)))))
  (:describe-obj
   (obj)
   (send self :title (format nil "~s" parent-index))
   (send textsw :delete 0 (send textsw :last-point))
   (setq slot-value-list (inspect2 obj))
   (dolist (x slot-value-list)
	   (send textsw :insert (string (car x)))
	   (send textsw :insert "	=	")
	   (send textsw :insert (cadr x))
	   (send textsw :insert "
"))
   (send textsw :insertion-point 0)
   (send textsw :first 0))
  (:button-update
   (&optional item event)
   (send self :describe-obj
	 (send self :target-object parent-index))
   (dolist (c children) (send c :button-update))
   )
  (:target-object
   (&optional (index parent-index)) ; index = object, symbol, (parent slot)
   (cond
    ((symbolp index) (setq target-object (symbol-value index)))
    ((atom index) index)
    (t
     (let ((par-object (send (car index) :target-object))
	   (slot (cadr index)))
       (cond
	((and (numberp slot)
	      (or (vectorp par-object)
		  (consp par-object)))
	 (setq target-object (elt par-object slot)))
	(t (setq target-object
		 (slot par-object (class par-object) slot))))))))
  (:parent-index
   (&optional inx)
   (if inx (setq parent-index inx) parent-index))
  (:init
   (par &optional (pos #f(350 0)))
   (setq parent-index par)
   (send-super :init nil
	       :title
	       (format nil "~s" parent-index)
	       :x (elt pos 0) :y (elt pos 1) :width 700)
   #+xview
   (setq panel (instance sunview-panel :init self
			 :font "lucidasans-bold-12"))
   #+sunview
   (setq panel (instance sunview-panel :init self
			 :col-max 2 :width 700
			 :font
			 "/usr/lib/fonts/fixedwidthfonts/screen.b.12"))
   (send panel :create-button :button-inspect :title "Inspect")
   (send panel :create-button :button-update :title "Update" :item-col 1)
   (send panel :create-text :text-set :title "Change slot value:"
	 :item-col 0 :length 60)
   (send panel :fit-height)
   #+xview
   (setq textsw (instance sunview-textsw :init self))
   #+sunview
   (setq textsw (send self :create-subwindow sunview-textsw
		      :x 0 :below panel :width 700))
   #+sunview
   (send self :button-update)
   #+sunview
   (send textsw :height (* 16 (length slot-value-list)))
   (send self :show t)
   self)
  )



From matsui@etl.go.jp Thu Feb 15 12:05:33 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA15815; Thu, 15 Feb 90 03:05:32 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA25041; Thu, 15 Feb 90 12:06:20 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA15812; Thu, 15 Feb 90 12:05:03 JST
Date: Thu, 15 Feb 90 12:05:03 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9002150305.AA15812@etlmmd.etl.go.jp>
To: euslisp-etl@etlcom.etl.go.jp
Subject: File locations
Status: RO

The source files of euslisp are located in etlic2:/usr/share/src/eus
directory.  Symbolic links to these source files and binary files are
located in meister:/usr/local/eus and etlic2:/usr/local/eus. Also,
executables such as eus, eusx, and eusxview are placed under 
etlic2:/usr/local/bin and meister:/usr/local/bin. Only these files are
maintained (up to date). 

From inaba@jsk.t.u-tokyo.ac.jp Mon Feb 19 19:37:03 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA21950; Mon, 19 Feb 90 10:37:01 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA04435; Mon, 19 Feb 90 19:38:01 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA18846; Mon, 19 Feb 90 19:37:15 +0900
Received: from jsk by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.31)
	id AA29475; Mon, 19 Feb 90 19:37:39 +0900
Received: from phoenics.jsk.t.u-tokyo.ac.jp by pegasus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA20197; Mon, 19 Feb 90 19:33:38 JST
Received: by phoenics.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA15978; Mon, 19 Feb 90 19:37:09 JST
Date: Mon, 19 Feb 90 19:37:09 JST
From: inaba@jsk.t.u-tokyo.ac.jp (Masayuki Inaba)
Return-Path: <inaba@jsk.t.u-tokyo.ac.jp>
Message-Id: <9002191037.AA15978@phoenics.jsk.t.u-tokyo.ac.jp>
To: euslisp@etl.go.jp (Toshihiro MATSUI)
In-Reply-To: matsui@etl.go.jp's message of 19 Feb 90 01:30:46 GM
Subject: document
Status: RO


$@>>0f$5$s(JWrites:

   >>$@$I$s$I$s$h$/$J$j$^$9$M!#(Jxview$@$r;H$&;~$N(Jviewer$@$H$+$O$I$&$J$k$N$G$9$+!#(J
   >>canvas$@$r;}$C$?%&%#%s%I%&$NDj5A$NNc$r(J1$@$D$b$i$($^$;$s$+!#:#$N!"(Jdemo/x.l
   >>$@$N(Jxview$@HG$,$"$l$P$3$A$i$G$OEvLL==J,$G$9!#(J

$@$O$$!":#$^$G(Jeusx$@$G;H$C$F$$$?%W%m%0%i%`$NCf$G!"(Jviewsurface$@$r:n$C$F$$$k(J
$@$H$3$m$r0J2<$N$h$&$KJQ99$7$^$9!#$D$^$j!"(Jxwindow$@$H$$$&%/%i%9$G$O$J$/$F!"(J
canvas-viewsurface$@$H$$$&%/%i%9$r;H$$$^$9!#(J
#+xlib
(setq *viewsurface* (instance xwindow :create
				:x 100 :y 100 :width 500 :height 500
				:title "eusx"
				:border-width 3
				:background 0))
#-xlib
(setq *viewsurface* (instance canvas-viewsurface :init
			      :x 100 :y 100 :width 500 :height 500
			      :title "eusx"
			      ))

$@$?$H$($P!"$3$N$h$&$K(Jxlib$@$r%*%W%7%g%J%k$H$7$F;H$C$FJQ99$9$k$H$$$$$G$7$g(J
$@$&!#$3$l$K$h$j!"(Jeusview, eusxview$@$NN>J}$G:#$^$G;H$C$F$$$?%W%m%0%i%`$,(J
$@Av$j$^$9!#!J$b$A$m$s!"(Jviewsurface$@%/%i%9$K$J$/$F(Jxwindow$@$K$7$+$J$$%a%=%C(J
$@%I$r;H$C$?$b$N$O!"3F<+:FDj5A$7$F$*$+$J$1$l$P$@$a$G$9$1$l$I$b!#$?$H$($P!"(J
Arc$@$r;H$C$F$$$k$b$N$J$I$G$9$M!#!K(J

   >>CommonLisp$@$HF1$8$G$9!#4JC1$G$9!#(Jdefun$@!"(Jdefmethod, defclass$@!"(Jdefvar,
   >>defconstant, defparameter $@$G;H$$$^$9!#(J
   >>(defun hebereke (arg) "yopparai" (list arg))
   >>(defmethod symbol
   >>  (:prefix (arg)
   >>	     "make a new symbol with prefix"
   >>	     (intern (concatenate string (string arg) pname))))
   >>(defvar *xyz* #f(0 0 0) "temporary location")

   >>$@$"$k$N$G!"(J(documentation 'hebereke)$@$H$9$k$H(J"yopparai"$@$,F@$i$l$^$9!#(J

symbol$@$N(J:prefix$@%a%=%C%I$N(Jdocumentation$@$r$H$C$F$/$kJ}K!$O!"(J
(documentation symbol :prefix)
$@$H$9$k$N$+$J!)(J

browser$@$r3HD%$7$F!"(Jdocumentation$@$rBPOCE*$K:n$C$F$f$/$b$N$r:n$k$H$"$j$,(J
$@$?$$$G$9$+$M!)(J $@%U%!%$%k$N8!:w$O(Jeustags$@$G$G$-$F$$$k$+$i!"$=$l$r(Jtextsw$@$K(J
$@I=<($9$l$P!"$=$N%U%!%$%k$r%(%G%#%C%H$9$k%b!<%I$KF~$j$^$9$M!#$=$NI=<(2h(J
$@LL>e$GJT=8$r$7!"%^%&%9$G%]%C%W%"%C%W%a%K%e!<$r=P$7$F!"%;!<%V$rA*$Y$P%=!<(J
$@%9%U%!%$%k$KEPO?$G$-$^$9$M!#(Jl$@$d(Jllib$@$J$I%7%9%F%`$N4X?t$b%V%i%&%:$7$?:](J
$@$K$A$g$C$H%3%a%s%H$r$D$1$k$H%=!<%9$,CV$-49$o$kLu$G$9!#0l?M$GA4It$r$$$l(J
$@$J$/$H$b;H$C$F$$$k?M$,E,595$$,$D$$$?$H$3$m$GF~$l$F$f$/$H$$$&$N$K$$$$$+(J
$@$b$7$l$^$;$s$M!#C/$,=q$$$?%I%-%e%a%s%F!<%7%g%s$+$r$=$NCf$K$$$l$F$*$/$N(J
$@$b$$$$$G$9$M!#$"$H$G8!:w$9$k;~$K;H$($^$9!#(J

$@8!:w$H$$$($P!"(JSmalltalk$@$G9T$J$C$F$$$k$h$&$K(Jcategory$@$N$h$&$J$b$N$r(J
documentation$@$NCf$K$$$l$k$h$&$J7A$r9M$($k$H$$$$$+$b$7$l$^$;$s$M!#%U%)!<(J
$@%^%C%H$r7h$a$k$o$1$G$9!#$=$N%U%)!<%^%C%H$K=>$C$?7A$N(Jdocumentation
string$@$r:n$k$b$N$r$3$N(Jbrowser$@$KAH$_9~$a$P$$$$$o$1$G$9!#$=$&$9$l$P!"(J
browse$@$9$k:]$b$=$N%U%)!<%^%C%H$rCN$C$F$$$F8!:w$b$G$-$^$9$7!#(J
$@$?$H$($P!"(J
Category: 
Documentation:
$@$H$$$&(Jtext-item$@$J$I$rMQ0U$7$F$*$1$P$h$5$=$&$G$9$M!#(J


$@0pMU(J


From michel@etlsc6.etl.go.jp Tue Feb 20 21:00:48 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA23927; Tue, 20 Feb 90 12:00:48 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA28483; Tue, 20 Feb 90 21:02:12 JST
Received: by etlsc6.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA12613; Tue, 20 Feb 90 21:01:59 JST
Date: Tue, 20 Feb 90 21:01:59 JST
From: michel@etlsc6.etl.go.jp (Michel Pasquier)
Return-Path: <michel@etlsc6.etl.go.jp>
Message-Id: <9002201201.AA12613@etlsc6.etl.go.jp>
To: matsui@etl.go.jp
Subject: Re:  eus on etlsc6
Status: RO

Well, I AM logged on etlsc6 (which has been upgraded to os 4.3). 
Probably /local will come later since, as I said, the installation
seems not to be completed.
Uh, things are not very simple these days. All the sources of eus
I can access are in /tmp_mnt/net/meister/usr/local/eus BUT the
executables files are in /usr/local/bin. aka /net/etlic0/local/bin.
  
Also I thought that euslisp (the original version) was located on
etlmmd, then there is also the file server etlfs and now it should
be on meister... maita maita.            

-Michel.

ps: I will mount meister:usr on etlsc6: to be able to access
/tmp_mnt/net/meister/usr/local/bin/eusx. Oh, well...

From inaba@jsk.t.u-tokyo.ac.jp Thu Feb 22 20:43:53 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA27490; Thu, 22 Feb 90 11:43:51 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA24465; Thu, 22 Feb 90 20:43:19 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA01061; Thu, 22 Feb 90 20:41:44 +0900
Received: from jsk by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.31)
	id AA16584; Thu, 22 Feb 90 20:42:08 +0900
Received: by pegasus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA25969; Thu, 22 Feb 90 20:38:01 JST
Date: Thu, 22 Feb 90 20:38:01 JST
From: inaba@jsk.t.u-tokyo.ac.jp (Masayuki Inaba)
Return-Path: <inaba@jsk.t.u-tokyo.ac.jp>
Message-Id: <9002221138.AA25969@pegasus.jsk.t.u-tokyo.ac.jp>
To: matsui@etl.go.jp
Cc: euslisp@jsk.t.u-tokyo.ac.jp
Subject: winspect.l
Status: RO


$@0pMU$G$9!#(J

$@%&%#%s%I%&%Y!<%9$N(Jinspector(winspect.l)$@$r$*Aw$j$7$^$9!#(J

destroy,hide,update,redisplay$@$J$I$N%\%?%s$r$D$1$^$7$?!#(J
destroy$@$O;R$I$b$^$G;&$7$^$9!#(J
hide$@$O$=$N%&%#%s%I%&$@$18+$($J$$$h$&$K$7$^$9!#(J
update$@$OJQ?t$NCM$rJQ$($?$"$H$K:FI=<($9$k$?$a$N$b$N$G$9!#(J
redisplay$@$O(Jhide$@$7$?$b$N$r$b$&0lEYa4$i$;$^$9!#(J

$@;H$$J}$H$7$F$O!"$"$kJQ?t(Ja$@$r(J(winspect a)$@$7$?$"$H!"I=<($5$l$F$$$kItJ,$G(J
$@$5$i$K(Jinspect$@$7$?$$$H$3$m$r%^%&%9$G<($7$?8e!"(Jinspect$@%\%?%s$r2!$7$F=g<!(J
$@$?$I$C$F$$$f$-!"1|?<$/$K$"$k=|$$$F$_$?$$MWAG$NCM$rI=<($9$k%&%#%s%I%&$r(J
$@MQ0U$7$^$9!#GA$$$F$_$?$$2U=j$,J#?t$"$l$P$=$l$i$bI=<($5$;$^$9!#(J
$@$=$7$F!"$=$l$i0J30$r(Jhide$@%\%?%s$G8+$($J$/$7$^$9!#$*$*85$N?F$b>C$7$F9=$$(J
$@$^$;$s!#(Jwinspect-redisplay$@$G$9$Y$F$,a4$k$+$i$G$9!#(J

$@<!$K!"%"%W%j%1!<%7%g%s%W%m%0%i%`$N$J$+$G!"$N$>$$$F$$$k2U=j$,$I$N$h$&$K(J
$@JQ2=$9$k$+$r8+$k$K$O!"%"%W%j%1!<%7%g%s$N$J$+$NGA$-$?$$$H$3$m$K!"(J
(winspect)$@$rA^F~$7$F!"%"%W%j%1!<%7%g%s%W%m%0%i%`$rAv$i$;$^$9!#(J
$@$=$&$9$k$H!"(J(winspect)$@$,8F$P$l$k$?$S$K!"%&%#%s%I%&$NI=<($,%"%C%W%G!<%H(J
$@$5$l$^$9$+$i!"$I$N$h$&$K$J$C$F$$$k$+$rD4$Y$k$3$H$,MF0W$K$J$j$^$9!#(J

;;;
;;;		Window-based Inspecter 1990.2.2
;;;					by M.Inaba and T.Matsui
;;;
;;;	(winspect variable)
;;;	or
;;;	(winspect) -> update the display like "Update" button
;;;
;;;	(winspect-redisplay)
;;;	(winspect-destroy)
;;;
;;;    Usage:
;;;(1) Interactive inspecting
;;;	eusview$ (setq a (make-cube 10 20 30))
;;;	eusview$ (winspect a)
;;;	Select slot's line by mouse in textsw.
;;;	Push "Inspect" button.
;;;
;;;(2) Value monitoring
;;;	The name of global variable 'a is memorized. If you update
;;;	the value of a, such as
;;;	eusview$ (setq a (make-cube 100 100 100))
;;;	and call winspect again like
;;;	eusview$ (winspect)
;;;	then the display in all of the inspect windows updated.
;;;
;;;(3) Slot value editing function
;;;	Select slot in a textsw, for example 'pos' of 'a'.
;;;	Set a form in the text item like, '#f(100 100 100).
;;;	then the value of (a . pos) is changed to #f(100 100 100).
;;;
;;;(4) Window destroy
;;;	Select "Destroy" button for destroying self and its children.
;;;	Send-all *winspect-windows* :destroy or
;;;	Call (winspect-destroy) for destroying all.
;;;
;;;(5) Window display control
;;;	Select "Hide" button for shadowing the window.
;;;	Select "Redisplay" button for redisplaying it and its children.
;;;
(format t "(winspect variable)~%")
;;;
(defvar *winspect-windows*)
(defmacro winspect (&optional sym)
  `(cond
    ((null ,sym)
     (send-all *winspect-windows* :button-update))
    (t
     (push 
      (instance class-inspect :init ',sym)
      *winspect-windows*))))
(defmacro winspect-destroy (&optional sym)
  `(let
       (w)
     (cond
      ((null ,sym)
       (send-all *winspect-windows* :destroy))
      ((setq w (remove-winspect ',sym))
       (send w :dstroy)))))
(defmacro winspect-redisplay (&optional sym)
  `(let
       (w)
     (cond
      ((null ,sym)
       (send-all *winspect-windows* :button-redisplay))
      ((setq w (find-winspect ',sym))
       (send w :button-redisplay)))))
(defun find-winspect (sym)
  (dolist (w *winspect-windows* nil)
	  (when (equal sym (w . parent-index))
		(return-from find-winspect w))))
(defun remove-winspect (sym)
  (when (setq sym (find-winspect sym))
	(setq *winspect-windows* (remove sym *winspect-windows*))
	sym))
(defun truncate-string (str len)
   (if (> (length str) len) (subseq str 0 len) str))

(defun inspect2 (obj &optional (line-length 50))
  (let ( ;(*print-structure* t) (*print-circle* t)
	(*print-length* 10)
	klass rlist len)
    (cond ((numberp obj) obj)
	  ((vectorp obj)
	   (dotimes (i (length obj))
		    (push (list i (truncate-string
				   (prin1-to-string (aref obj i))
				   line-length))
			  rlist)) )
	  ((consp obj)
	   (setq len (length obj))
	   (dotimes (i len)
		    (push (list i (truncate-string
				   (prin1-to-string (pop obj))
				   line-length)) rlist)))
	  (t	;not a vector
	   (setq vars (metaclass-vars (setq klass  (class obj))))
	   (dotimes (i (length vars))
		    (push (list (svref vars i)
				(truncate-string
				 (prin1-to-string (slot obj klass i))
				 line-length))
			  rlist))))
    (nreverse rlist)))
;;;
(defclass class-inspect :super sunview-frame
  :slots (textsw panel
		 parent-index
		 target-object
		 slot-value-list
		 children
		 hidden-flag
		 textsw-first-line
		 textsw-insertion-point))
(defmethod class-inspect
  (:select-slot-and-value
   (&optional (i (send textsw :insertion-point)))
   (let ((contents (send textsw :get-contents)))
     (while (and (>= i 0) (< i (length contents)))
       (if (memq
	    (elt contents i)
	    '(13 10))
	   (return-from :select-slot-and-value
			(assoc
			 (read-from-string (subseq contents i) nil "")
			 slot-value-list)))
       (if (<= i 0)
	   (return-from :select-slot-and-value
			(elt slot-value-list 0)))
       (setq i (1- i)))))
  (:button-inspect
   (&optional item event)
   (let ((slot-value (send self :select-slot-and-value))
	 ins)
;;;     (print slot-value)
     (if (null slot-value) (return-from :button-inspect nil))
     (setq ins
	   (instance class-inspect :init
		     (list self (car slot-value))
		     (float-vector (send self :x)
				   (+ 2 (send self :y) (send self :height)))))
     (push ins children)
     ))
  (:text-set
   (&optional value item event)
   (let ((v (eval (read-from-string value)))
	 (slot-value (send self :select-slot-and-value))
	 slot)
     (print slot-value)
     (print target-object)
     (cond
      ((null slot-value))
      ((and (numberp (setq slot (car slot-value)))
	    (or (vectorp target-object)
		(consp target-object)))
       (setf (elt target-object slot) v))
      (t (setslot target-object (class target-object) slot v)))))
  (:window-title
   ()
   (cond
    ((null parent-index))
    ((symbolp parent-index) parent-index)
    (t (cons (send (car parent-index) :window-title) (cdr parent-index)))))
  (:describe-obj
   (obj)
   (when (not hidden-flag)
	 (send self :title (format nil "~s" (send self :window-title)))
	 (setq textsw-first-line (send textsw :first-line))
	 (setq textsw-insertion-point (send textsw :insertion-point))
	 (send textsw :reset)
	 (setq slot-value-list (inspect2 obj))
	 (send textsw :show nil)
	 (dolist (x slot-value-list)
		 (send textsw :insert (string (car x)))
		 (send textsw :insert "	=	")
		 (send textsw :insert (cadr x))
		 (send textsw :insert "
"))
	 (send textsw :insertion-point textsw-insertion-point)
	 (send textsw :first-line 0)
	 (send textsw :scroll textsw-first-line)
	 (send textsw :show t)))
  (:button-update
   (&optional item event)
   (send self :describe-obj
	 (send self :target-object parent-index))
   #+xview
   (send textsw :height (* 16 (length slot-value-list)))
   #+xview
   (send self :fit)
   (send-all children :button-update)
   )
  (:button-destroy
   (&optional item event)
   (send self :destroy))
  (:button-hide
   (&optional item event)
   (send self :show nil)
   (setq hidden-flag t)
   )
  (:button-redisplay
   (&optional item event)
   (send self :show t)
   (setq hidden-flag nil)
   (send-all children :button-redisplay)
   )
  (:target-object
   (&optional (index parent-index)) ; index = object, symbol, (parent slot)
   (cond
    ((symbolp index) (setq target-object (symbol-value index)))
    ((atom index) index)
    (t
     (let ((par-object (send (car index) :target-object))
	   (slot (cadr index)))
       (cond
	((and (numberp slot)
	      (or (vectorp par-object)
		  (consp par-object)))
	 (setq target-object (elt par-object slot)))
	(t (setq target-object
		 (slot par-object (class par-object) slot))))))))
  (:parent-index
   (&optional inx)
   (if inx (setq parent-index inx) parent-index))
  (:remove-child (c)
		  (setq children (remove c children)))
  (:destroy ()
	    (send-all children :destroy)
	    (setq children nil)
	    (cond
	     ((symbolp parent-index)
	      (remove-winspect parent-index))
	     (t
	      (send (car parent-index) :remove-child self)))
	    ;;;	    (send textsw :erase 0 (send textsw :length))
	    (send textsw :reset)
	    (send-super :destroy)
	    )
  (:init
   (par &optional (pos #f(350 0)))
   (setq parent-index par)
   (send-super :init nil
	       :title
	       (format nil "~s" (send self :window-title))
	       :x (elt pos 0) :y (elt pos 1) :width 700)
   #+xview
   (setq panel (instance sunview-panel :init self
			 :col-max 5 :width 800
			 :scrollbar nil
			 :item-size 16
			 :font "lucidasans-bold-12"))
   #+sunview
   (setq panel (instance sunview-panel :init self
			 :col-max 5 :width 800
			 :scrollbar nil
			 :item-size 16
			 :font
			 "/usr/lib/fonts/fixedwidthfonts/screen.b.12"))
   (send panel :create-button :button-inspect :title "Inspect")
   (send panel :create-button :button-update :title "Update" :item-col 1)
   (send panel :create-button :button-destroy
	 :title "Destroy" :item-col 2)
   (send panel :create-button :button-hide
	 :title "Hide" :item-col 3)
   (send panel :create-button :button-redisplay
	 :title "Redisplay" :item-col 4)
   (send panel :create-text :text-set :title "Change slot value:"
	 :item-col 0 :length 60)
   (send panel :fit-height)
   #+xview
   (setq textsw (instance sunview-textsw :init self
			  :x 0 :below panel :width 800))
   #+sunview
   (setq textsw (send self :create-subwindow sunview-textsw
		      :x 0 :below panel :width 800))
   #+sunview
   (send self :button-update)
   #+sunview
   (send textsw :height (* 16 (length slot-value-list)))
   (send self :show t)
   self)
  )



From inaba@jsk.t.u-tokyo.ac.jp Sat Feb 24 14:14:49 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA29870; Sat, 24 Feb 90 05:14:48 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA08519; Sat, 24 Feb 90 14:16:18 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA28902; Sat, 24 Feb 90 14:15:35 +0900
Received: from cetus by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.31)
	id AA04166; Sat, 24 Feb 90 14:15:59 +0900
Received: from grus.jsk.t.u-tokyo.ac.jp (grus.ARPA) by cetus.jsk.t.u-tokyo.ac.jp (1.00/6.4J.6)
	id AA00984; Sat, 24 Feb 90 23:02:24 jst
Received: by grus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA18775; Sat, 24 Feb 90 14:28:21 JST
Date: Sat, 24 Feb 90 14:28:21 JST
From: inaba@jsk.t.u-tokyo.ac.jp (Masayuki Inaba)
Return-Path: <inaba@jsk.t.u-tokyo.ac.jp>
Message-Id: <9002240528.AA18775@grus.jsk.t.u-tokyo.ac.jp>
To: matsui@etl.go.jp
Cc: sek@etl.go.jp
In-Reply-To: Toshihiro MATSUI's message of Sat, 24 Feb 90 10:44:43 JST <9002240144.AA29483@etlmmd.etl.go.jp>
Subject: xview on sparc/GX
Status: RO


   >>sparc$@$N(Jxview$@$G(Jeusxview$@$,F0$+$J$$$H8@$C$F$$$^$7$?$,!"(Jsparc$@$O4X78$J$/$F!"(J
   >>$@%+%i!<$N(Jxview$@$G$O(Jeusxview$@$,F0$+$J$$$H$$$&$3$H$N$h$&$G$9!#(J
   >>cmap$@$N%;%C%H$K9T$C$F$/$?$P$C$F$$$k$h$&$G$9!#(J
   >>$@$=$3$G!"(Jxviewclass.l$@$N(Jsunview-canvas$@$N(J:init$@$G!"(J:set-cmap-type
   >>$@$r8F$V$N$r$d$a$?$H$3$m!"$J$s$H$+!"%&%#%s%I%&$,@5>o$KI=<($5$l$k$h$&$K(J
   >>$@$J$j$^$7$?!#(J

$@D4$Y$F$_$?$H$3$m!"$=$&$G$9$M!#(Jwinspect.l$@$N%&%#%s%I%&$O$J$s$J$/$G$k$N$G(J
x.l$@$G;n$7$F$_$?$H$3$m!"0l=V$G$F;`$s$G$7$^$$$^$9$M!#(J
$@$$$o$l$k$H$*$j!"(Jcanvas-viewsurface:init$@$G!"(Jcmap-type :mono$@$N%G%U%)%k%H(J
$@$J$/$7$?$i$&$^$/$f$-$^$7$?!#%+%i!<%^%C%WEy$N<h$j07$$$K$D$$$F$O$h$/M}2r(J
$@$7$F$$$J$$$N$G!"$3$3$i$X$s$N%3!<%G%#%s%0$O$"$d$U$d$G$9!#(J
sunview$@$G$O%+%i!<$,$G$F$$$k$N$G!"$=$A$i$N%3!<%G%#%s%0$rJQ99$;$:$K(Jxview
$@$G;H$C$F$$$k$N$G$3$s$J$U$&$K$J$C$F$$$^$9!#(J


   >>xflush$@$r8F$V%?%$%_%s%0$K$bLdBj$,$"$k$h$&$G$9$M!#(J

$@$=$&$G$9$+!#(Jsunview$@$G$O<jA0$G%@%V%k%P%C%U%!$r9T$J$C$F$$$k$N$G$9$,!"(J
xview$@$G$O#2KgL\$N(Jpixrect$@$r07$&J}K!$,$o$+$i$::C@^$7$?$^$^$G$9!#(J
xviewclass.l$@$G$O(Jxflush$@$O;H$C$F$$$^$;$s$,!"(Jxflush$@$r$"$i$o$K8F$V$h$&$J(J
$@%"%W%j%1!<%7%g%s$,$=$A$i$K$"$k$N$G$9$M!#(J

$@%+%i!<$N(JSparc$@$,:G6aMh$?$N$G>/$72~NI$7$F$_$^$7$g$&!#(J

$@$G$O!"$^$?!#(J

$@0pMU(J

From matsui@etl.go.jp Mon Feb 26 16:04:26 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA01621; Mon, 26 Feb 90 07:04:25 GMT
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA13839; Mon, 26 Feb 90 16:06:03 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA01618; Mon, 26 Feb 90 16:04:08 JST
Date: Mon, 26 Feb 90 16:04:08 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9002260704.AA01618@etlmmd.etl.go.jp>
To: onda@etl.go.jp
Subject: Re:  typep
Cc: euslisp@etl.go.jp
Status: RO

onda@etl.go.jp writes:
> EusLisp$B$K$O!"$I$&$$$&(Jtype$B$,$"$k$N$G$7$g$&$+!)(J

:bit, :character, :byte, :integer, :float$B$H%/%i%9L>$G$9!#(J:fixnum
$B$b$"$C$?$+$J$"!#K:$l$?!#(J
make-array$B$N(J:type$B$G$O!"$3$l$i$N7?;XDj;R$O<B:]$K3NJ]$5$l$kNN0h$N(J
$BBg$-$5$r:81&$7$^$9$+$i6K$a$F=EMW$G$9!#(Jdefclass$B$N%9%m%C%H@k8@$K(J
$B=q$/>l9g$O!"%3%s%Q%$%i$N:GE,2=$r2DG=$K$9$k(J($BB.EY$,0c$&(J)$B$H$$$&$@$1(J
$B$G!"(Jsemantics$B$,JQ$o$k$3$H$O$J$$(J($B$O$:$G$9(J)$B!#(J

CommonLisp$B$N(J 'list $B$NBe$o$j$K$O(J cons $B$r;XDj$7$^$9!#(J

Eus:	(coerce #(1 2 3) cons)	--> (1 2 3)
Common:	(coerce #(1 2 3) 'list) --> (1 2 3)

type specifier$B$N(Jquote$B$KCm0U!#(J

$BF1MM$K(J(coerce #(1 2 3) float-vector) --> #f(1 2 3)
$B$G$9!#(J

typep$B$O$"$j$^$;$s!#(Jdeftype$B$b$"$j$^$;$s!#$=$l$K0lHV6a$=$&$J$N$O(J
derivedp$B$G$9!#(J



From tada@jsk.t.u-tokyo.ac.jp Wed Mar 28 20:59:49 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA00266; Wed, 28 Mar 90 20:59:49 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA04207; Wed, 28 Mar 90 13:47:16 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA10651; Wed, 28 Mar 90 13:45:49 +0900
Received: from jsk by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.39)
	id AA17960; Wed, 28 Mar 90 13:46:27 +0900
Received: by pegasus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA00461; Wed, 28 Mar 90 13:41:32 JST
Date: Wed, 28 Mar 90 13:41:32 JST
From: tada@jsk.t.u-tokyo.ac.jp (Tomoyuki Tada)
Return-Path: <tada@jsk.t.u-tokyo.ac.jp>
Message-Id: <9003280441.AA00461@pegasus.jsk.t.u-tokyo.ac.jp>
To: euslisp@etl.go.jp
Subject: socket-address
Status: RO

$@0f>e8&$NB?ED$H?=$7$^$9!#(J
$@%W%m%;%94VDL?.$r$9$k%W%m%0%i%`$NCf$G!"(Jsocket-address $@$r;H$&$H$3$m$,$"(J
$@$k$N$G$9$,!"(J
eusxview$ (make-socket-address :domain af_inet :host "perseus" :service "chopsticks")
eusxview error: mismatch argument in (instantiate socket-address 16)
E1-eusxview$ 
$@$N$h$&$J%(%i!<$,=P$^$9!#(J
$@>/$7D4$Y$?$N$G$9$,!"(Jleo.c $@$NCf$N(J INSTANTIATE $@$NDj5A$K$*$$$F(J
    s=intval(a->c.vcls.size);
    if (s<0) { ckarg(2); s=ckintval(argv[1]);}
    else ckarg(1);
$@$H$$$&ItJ,$,$"$j$^$7$?!#$H$3$m$,!"(Jsocket-address $@$r(J desicribe $@$9$k$H!"(J
size $@$,$J$/$F0z?t$r#18D$7$+$H$l$J$$$h$&$J$N$G$9!#(J
$@$I$N$h$&$K$9$l$P$&$^$/$$$/$N$+65$($F2<$5$$!#(J

$@B?EDCRG7(J tada@jsk.t.u-tokyo.ac.jp

From tarsun@utnl.gen.u-tokyo.ac.jp Wed Apr  4 00:32:01 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA10565; Wed, 4 Apr 90 00:31:59 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA25617; Wed, 4 Apr 90 01:47:40 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA11632; Wed, 4 Apr 90 01:46:56 +0900
Received: from zodiac by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.47)
	id AA10991; Wed, 4 Apr 90 01:47:45 +0900
Received: from jung.gen.u-tokyo.ac.jp by zodiac.gen.u-tokyo.ac.jp (4.0/6.4J.5)
	id AA07608; Wed, 4 Apr 90 01:48:43 JST
Received: by jung.gen.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA03248; Wed, 4 Apr 90 01:48:24 JST
From: tarsun@utnl.gen.u-tokyo.ac.jp (Tazawa 'TarSUN' Takashi)
Return-Path: <tarsun@utnl.gen.u-tokyo.ac.jp>
Message-Id: <9004031648.AA03248@jung.gen.u-tokyo.ac.jp>
To: matsui@etl.junet
Cc: tarsun@jung.gen.u-tokyo.ac.jp
Subject: I want to use Euslisp
Date: Wed, 04 Apr 90 01:48:23 +0900
Status: RO

 
  $@;O$a$^$7$F!"$*K;$7$$=j$$$-$J$j(Jmail$@$r$7$F?=$7Lu$"$j$^$;$s!"(J
$@ED_7!wElBg!%86;RNO$H$$$&<T$G$9!#(J
  $@;d!"8=:_%m%\%C%H4XO"$N8&5f$r$7$F$$$k$N$G$9$,!"$"$k;~!J<B$O(J
$@5nG/$N=):"8xL30w;n83$K<u$+$C$?$N$r$$$$;v$K8&5f$N;29M$K$7$h$&$H(J
ETL$@$r8+3X$7$?;~$K!K(JETL$@$G$O%m%\%C%H$N8&5f$K(JETL$@$G3+H/$7$?(JLisp$@$r(J
$@;H$C$F$$$k$H$$$&;v$rCN$j!"2?$H$J$/4X?4$r;}$C$F$$$?$N$G$9!#(J
  $@$=$N8eEEAm8&%K%e!<%9Ey$G$=$l$,M%=($J(JLisp$@$G$"$k$H$$$&1=$rJ9$-(J
$@$*$h$S!"@'Hs$H$b<j$KF~$l$F8&5f$KMQ$$$?$$!"$H;W$C$?$N$G$7$?!#(J
  $@ElBg$G$O0pMU@h@8$,MxMQ$J$5$C$F$$$k$h$&$G!"Bg7?7W;;5!%;%s%?!<(J
$@$K$bCV$$$F$"$C$?$N$G$9$,!"8&5f<<$K$"$k%o!<%/%9%F!<%7%g%s$,(J
SPARC Station 1(SunOS4.0.3)$@$G$"$k;v$+$i!"$=$l$KBP1~$7$?J*$,(J
$@M_$7$$$H;W$C$?$N$G$9!#(J($@Bg7?7W;;5!%;%s%?!<$K$"$C$?(Jsun4os4$@MQ$N(J
$@%P%$%J%j(J(6.607)$@$O!"(Jeus$@$O$A$c$s$HF0$-$^$9$,(Jeusview$@$O(Jdemo$@$rF0$+$=$&(J
$@$H$9$k$H(Jcore dump$@$7$F(J$@$7$^$&$N$G$9!#!K(J
  $@;d$H$7$F$O!"$3$l$+$iK\3JE*$K;H$$$?$$$N$G!"@5<0$K(JLICENSE$@$r<h$j!"(J
$@$^$?!":G?7%P!<%8%g%s$N$b$N$r$$$?$@$-$?$$$H;W$C$F$*$j$^$9!#FC$K!"(J
X11R4$@BP1~$N(Jeusx$@$,5$$K$+$+$k=j$G$9!#(J
  $@$H$$$&;v$G!"$b$7$=$A$i$G$h$m$7$1$l$PD>@\EEAm8&$K#M#T$r;}$C$F(J
$@<h$j$K9T$C$F$b$$$$$H;W$C$F$*$j$^$9!#$"$k$$$O0pMU@h@8$N=j$G$b(J
$@9=$$$^$;$s$,!D(J($@0l1~:#$G$bEEAm8&;VK>$J$N$G$b$&0lEY8+3X$7$?$$(J
$@5$$b$"$C$?$j$7$^$9(J:-)$@!#G!2?$J$b$N$G$7$g$&$+!)$4LBOG$+$bCN$l$^$;$s(J
$@$,!"$b$&;d$b#M#2$G>G$C$F$$$k$b$N$G!D!#2?B4$h$m$7$/$*4j$$CW$7$^$9!#(J

                                $@El5~Bg3X9)3XItImB086;RNO9)3X8&5f;\@_(J
                                  d34139@tansei.cc.u-tokyo.ac.jp
                                  tarsun@jung.gen.u-tokyo.ac.jp
                                                             $@ED_7(J $@9'(J

From tarsun@utnl.gen.u-tokyo.ac.jp Wed Apr  4 15:41:37 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA10886; Wed, 4 Apr 90 15:41:36 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA13667; Wed, 4 Apr 90 15:41:38 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA11478; Wed, 4 Apr 90 15:40:52 +0900
Received: from zodiac by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.47)
	id AA14031; Wed, 4 Apr 90 15:41:30 +0900
Received: from jung.gen.u-tokyo.ac.jp by zodiac.gen.u-tokyo.ac.jp (4.0/6.4J.5)
	id AA07916; Wed, 4 Apr 90 15:42:23 JST
Received: by jung.gen.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA03939; Wed, 4 Apr 90 15:42:03 JST
From: tarsun@utnl.gen.u-tokyo.ac.jp (Tazawa 'TarSUN' Takashi)
Return-Path: <tarsun@utnl.gen.u-tokyo.ac.jp>
Message-Id: <9004040642.AA03939@jung.gen.u-tokyo.ac.jp>
To: matsui@etl.go.jp (Toshihiro MATSUI)
Cc: tarsun@utnl.gen.u-tokyo.ac.jp
Subject: Re: I want to use Euslisp 
In-Reply-To: Your message of Wed, 04 Apr 90 00:46:15 +0900.
             <9004031546.AA10581@etlmmd.etl.go.jp> 
Date: Wed, 04 Apr 90 15:42:02 +0900
Status: RO


  $@$I$&$b!"AGAa$$2sEzM-Fq$&$4$6$$$^$9!"ED_7!wElBg$G$9!#$7$+$7(J
$@0JA0!"EEAm8&$O4k6H$KHf$Y$F6b$,$J$$J,?M4V$,4hD%$k$s$@!"$_$?$$$J(J
$@OC$7$r$I$3$+$GJ9$$$?$h$&$J5$$,$9$k$N$G$9$,!"K\Ev$KLkCY$/$^$G(J
$@8&5f$J$5$C$F$$$k$N$G$9$M!#@($$$J$"!#(J

> 1.$@;d<+?H$O(Jsunview$@$r$[$H$s$I;H$C$F$$$J$$$N$G!"(Jcore dump$@$9$k7o$O(J
> $@$h$/$o$+$j$^$;$s!#0pMU$5$s$N$H$3$m$G$O!"(Jsunview$@$r;H$C$F$$$k3X@8$,(J
> $@$$$k$H;W$$$^$9!#(J

  $@$o$+$j$^$7$?!#0pMU@h@8$N=j$KJ9$$$F$_$h$&$H;W$$$^$9!#(J

> 2.$@;d6!$O!"<g$K(JX11R4$@$G;H$C$F$$$^$9!#$H$O8@$C$F$b!"(JXlib$@;_$^$j$G!"(J
> toolkit$@$K4X$7$F$O!"$d$O$j0pMU$5$s$N$H$3$m$N(JXview$@$,6/NO$G$9!#(J

  $@$*$*!*$b$&(JX11R4$@BP1~$K$J$C$F$$$?$N$G$9$+!#$=$l$OAG@2$i$7$$!#(J
$@@'Hs$H$b<j$KF~$l$?$$$H;W$$$^$9!#(J

> 3.$@0pMU$5$s$N$H$3$m$K$O!"$[$H$s$I>o$K!":G?7$NHG$,9T$C$F$$$^$9!#(J
> $@$@$+$i!"5^$0$N$G$"$l$P!"$=$3$G%3%T!<$5$;$F$b$i$&$N$,$h$$$H;W$$$^$9!#(J
> $@$?$@$7!"0pMU$5$s$O:#%h!<%m%C%Q$K9T$C$FIT:_$J$N$G!"C/$+3X@8$5$s$K(J
> $@$*4j$$$9$k$3$H$K$J$k$G$7$g$&!#9q5H$5$s$+!"@PLJ$5$s$,>\$7$$$+$H;W$$$^$9!#(J

  $@$O$!!"$o$+$j$^$7$?!#$7$+$7$"$=$3$N8&5f<<$G$O0pMU@h@80J30$@$H(J
$@8rN.$,$"$k$N$,0f>e@h@8$@$1$K$J$C$F$7$^$&$N$G$A$g$C$H62$$(J(^_^;)
$@$G$9$1$l$I$b!"2?$H$+%3%s%?%/%H$r<h$j$?$$$H;W$$$^$9!#(J

> license$@$K4X$7$F$O!"$[$H$s$I(Jfree software$@$G$9$,!"MxMQ<T$HMxMQ>u67$r(J
> $@GD0.$7$?$$$N$G!"0l1~5vBz=q$K%5%$%s$7$F$b$i$C$F$$$^$9!#%$%s%9%H!<%k$7$F(J
> README$@$rFI$a$P$o$+$k$H;W$$$^$9!#(J

  $@$($($H!"$A$g$C$HFI$s$@$N$G$9$,!"%W%j%s%H%"%&%H$7$F$=$A$i$K$*Aw$j(J
$@$9$l$PNI$$$o$1$G$9$h$M!)$^$!!#$b$7$+$7$?$iD>@\;}$C$F9T$/;v$K(J
$@$J$k$+$bCN$l$^$;$s$,!D!#(J

> 4.$@8+3X$K$$$i$C$7$c$k$N$G$"$l$P!"$3$A$i$G%3%T!<$7$F$b7k9=$G$9!#(J
> $@%(%M%k%.!<4X78$N8&5f<<$r4uK>$7$F$$$k$N$G$7$g$&$+(J? 

  $@$&$&!"$d$O$j86;RNO9)3X2J$@$H$3$&;W$o$l$F$7$^$$$^$9$+!D!#0l1~(J
$@;d$H$7$F$O%m%\%C%H$+!"$=$N%S%8%g%s4X78$r9M$($F$$$k$N$G$9$,!"!"!"!#(J
$@0JA0$K8+3X$7$?;~$b9TF0CNG=8&5f<<$K$*;G$$$7$?$s$G$9$1$l$I$b!#(J
$@$b$C$H$b!"$=$N;~$O$^$@NI$/$o$+$i$J$/$F2?$H$J$/8+$?!"$H$$$&$@$1(J
$@$K=*$C$F$7$^$C$?$h$&$J5$$,$7$?$j$7$^$9!#;d$H$7$F$O$=$m$=$m="?&(J
$@3hF0$r9M$($M$P$J$i$J$$$N$G!"Aa$$=jEEAm8&$K;d$N?)$$9~$`M>CO$,$"$k(J
$@$+$I$&$+CN$j$?$$$H;W$C$F$$$^$9!#$@$+$i#47nCf$K$O$^$?D9C+@n$5$s!J0JA0(J
$@0FFb$7$F$$$?$@$$$?$N$G!K$+9b@%$5$s$K$*EEOC$G$b$7$F$b$&0lEY$*OC$7$r(J
$@J9$3$&$H;W$C$F$$$?$N$G$9!#$=$l$,$$$D:"$K$J$k$+$O@53N$K$O$o$+$j$^$;$s(J
$@$,!"Hf3SE*Aa$$;~4|$K9T$1$k$N$G$"$l$P!"$=$N;~$K$G$b#M#T$r;}$C$F;G$&(J
$@$+$bCN$l$^$;$s!#$=$N:]$K$OM=$a(Jmail$@$G$*CN$i$;$7$^$9!#(J

> $@$;$$$<$$$43hMQ2<$5$$!#(J

  $@$O$$!"3hMQ$7$?$$$H;W$C$F$*$j$^$9!#(J

$@!tL4$OM[EE;R%m%\%C%H(J

                                $@El5~Bg3X9)3XItImB086;RNO9)3X8&5f;\@_(J
                                  d34139@tansei.cc.u-tokyo.ac.jp
                                  tarsun@jung.gen.u-tokyo.ac.jp
                                                             $@ED_7(J $@9'(J

From speters@etlic0.etl.go.jp Mon Apr  9 11:16:38 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA15872; Mon, 9 Apr 90 11:16:37 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA14635; Mon, 9 Apr 90 10:05:35 JST
Received: by etlic0.etl.go.jp (3.2/6.4J.6-ETL.SLAVE)
	id AA01638; Mon, 9 Apr 90 09:57:09 JST
Date: Mon, 9 Apr 90 09:57:09 JST
From: speters@etlic0.etl.go.jp (Stephen F. Peters)
Return-Path: <speters@etlic0.etl.go.jp>
Message-Id: <9004090057.AA01638@etlic0.etl.go.jp>
To: euslisp@etl.go.jp
Subject: instance variable access
Status: RO

;;;
;;; I wrote the following general-purpose methods which I find useful and
;;; suit my coding style and am sending them along on the chance that others
;;; may also find them useful.
;;;
;;; I expect that many of you may already have coded such methods yourselves,
;;; but for those of you who haven't, and those new to EUSLISP who are used 
;;; Symbolics Flavors, these may be handy.  Feel free to send me any 
;;; comments.
;;;                                  Steve Peters
;;;                                  speters@etl.go.jp
;;;

;;;
;;; EASY INSTANCE VARIABLE ACCESS METHODS
;;;

;;;
;;; The following classes contain useful methods for access of instance
;;; variables in EUSLISP.  This code can be used as-is to add :get and
;;; :set methods to objects built upon the class "object."  Add these
;;; classes in the class inheritance tree between above the sub-tree you
;;; wish to inherit them, remembering to change the super class name in
;;; the defclass declaration as appropriate.
;;;
;;; Use of these classes give global get and set access similar to that of
;;; Symbolics LISP, though the syntax of ust differs from Symbolics LISP.
;;;
;;; These classes have the disadvantage that they do not provide selective
;;; access, but have the advantage of obviating having to write special
;;; access code for each variable.
;;;
;;; These classes could be used as pseudo-mixin classes via the message
;;; forwarding facilities of EUSLISP, allowing clean code and selective
;;; access, but at the expense of degraded performance for the most basic
;;; operations.
;;;



;;;
;;; use the following classes in place of object (adapt for other classes)
;;;

(defclass gettable-object
  :super object)
(defmethod gettable-object
  ;; (send <object> :get <slotname>)
  (:get (slot-name) (slot self (class self) slot-name)))

(defclass settable-object
  :super gettable-object)
(defmethod settable-object
  ;; (send <object> :set <slotname> <newvalue>)
  (:set (slot-name new-value) (setslot self (class self) slot-name new-value)))



;;;
;;; the following is an example using the above :set and :get methods
;;;

(defclass data-object
  :super settable-object
  :slots (var-1
	  var-2))

(setq example-obj-1 (instantiate data-object))

(format t "the value of slot var-1 in example-obj-1 is now ~A~%"
	(send example-obj-1 :get 'var-1))

(send example-obj-1 :set 'var-1 25.73)

(format t "the value of slot var-1 in example-obj-1 is now ~A~%"
	(send example-obj-1 :get 'var-1))



From matsui@etl.go.jp Thu May 17 14:35:22 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA26739; Thu, 17 May 90 14:35:21 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA22911; Thu, 17 May 90 14:34:20 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA26735; Thu, 17 May 90 14:34:22 JST
Date: Thu, 17 May 90 14:34:22 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9005170534.AA26735@etlmmd.etl.go.jp>
To: inaba@jsk.t.u-tokyo.ac.jp
Subject: Re:  euslisp mail list
Cc: euslisp@etl.go.jp
Status: R

> euslisp$B%a%$%k%j%9%H$K$O3$30$N$b$N$b$O$$$C$F$-$F$$$k$+$H;W$C$F$$$^$9$,!"(J
> $B:#$N$^$^$@$HF|K\8l$N<ALd$J$I$b309q$X9T$/$N$G$9$h$M!#!)(J

$B$I$-!#$3$A$i$N(Jmail-list$B$K$O!"3$30$N(Jeuslisp user$B$NL>A0$OF~$C$F$$$^$;$s$,(J
($B$H$$$&$N$O!"@5<0$KMxMQ5vBz=q$,JVAw$5$l$F$J$$$N$G(Jmail address$B$5$($o$+$i$J$$(J)
utyo$B$N(Jmail list$B$K$OF~$C$F$$$k$N$G$9$+(J ?

> $B$5$F!"$3$A$i$N(Jmakefile, mkeusview, mkeusvision$B$H$$$&$N$rJQ99$7!":#$^$G(J
> $B$N(Jeusview, eusvision$B$J$I$O%7%'%k%9%/%j%W%H$K$J$j!"(JDISPLAY$BJQ?t$K$h$j(J
> eussview,eussvision$B!J(JSunview$BMQ!K(Jeusxview,eusxview$B!J(JXview$BMQ!K$r<+F0A*Br(J
> $B$9$k$h$&$K$7$^$7$?!#(J

$B<oN`$,A}$($F$/$k$H!"$$$A$$$A(Jimage save$B$7$F$$$k$N$b5$7s$M$9$k$h$&$K(J
$B$J$j$^$9$M!#7k9=%G%#%9%/?)$$$^$9$+$i!#(J.eusrc$B$G%m!<%I$9$k$h$&$K$7$?$i(J
$B$I$&$G$9$+!#(J

> $B$^$?!"(Jeusview$B$K$O!"(Jbrowse.l, winspect.l$B$rAH$_9~$_$K$7$F$*$3$&$H;W$C$F(J
> $B$$$^$9!#$?$@!"(Jbrowse.l$B$O$^$@$^$@2~NI$NM>CO$,$"$j$^$9$,!#(J

OpenWindow$B$O$I$&$J$s$G$7$g$&!#(J

> eusvision$B$H$$$&$N$O!"$&$A$N8&5f<<$NBg3X1!@8$,:n$C$?%b%G%k%Y!<%9%H%W%m(J
> $B%0%i%`$N%Q%C%1!<%8$,$4$A$c$4$A$c$HF~$C$F$$$k$b$N$G$9!#@0M}$G$-$F$$$J$$(J
> $B$N$G!"?7$7$$=$;N0lG/$,JY6/$9$k$?$a$K$=$l$r@0M}$9$kM=Dj$G$9!#(J

> $B%O!<%I%&%'%"$K0MB8$7$F$$$J$$ItJ,$J$N$G!">-MhE*$K$O$?$/$5$s$N%f!<%6$K$H$C(J
> $B$F$b=EJu$G$7$g$&!#$?$@!"8=:_$N(Jeusvision$B$OHs>o$K%5%$%:$,Bg$-$/$F(J7.8MB$BDx(J
> $BEY$K$J$C$F$$$^$9!#(J

$B2?$,$G$-$k$N$G$7$g$&(J? line-segment-finder$B$+$i$bFHN)$7$F$$$k$N$G$9$+(J?


From matsui@etl.go.jp Thu May 17 15:04:07 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA26808; Thu, 17 May 90 15:04:06 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA23367; Thu, 17 May 90 15:03:48 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA26805; Thu, 17 May 90 15:03:47 JST
Date: Thu, 17 May 90 15:03:47 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9005170603.AA26805@etlmmd.etl.go.jp>
To: terasaki@marr.tsukuba.sanyo.co.jp
Subject: Re:  rotation-angle bug ???
Cc: euslisp@etl.go.jp
Status: R

> $B3'$5$s!"$*5W$7$V$j$G$9!#(J
> $B;0MNEE5!$N;{:j$G$9!#(J

$B4hD%$C$F$^$9$M!#(J

> $B;d$O!"!V%P%0$@!*!*!*!W$H;W$C$F$b!"$9$0$K%a%$%j%s%0%j%9%H$KEj9F$;$:$K!"(J
> $B#2!A#3F|!"$[$C$F$*$/$3$H$K$7$F$$$^$9!#(J
> $B$9$k$H!"IT;W5D$K$b!"%P%0$G$J$/$J$k$3$H$,!"$[$H$s$I$G$9$+$i!#(J
> $B:#2s$b!"?tF|CV$$$F$*$-$^$7$?$,!"%P%0$G$J$/$J$i$J$$$h$&$J$N$G!"(J
> $BEj9F$7$^$9!#$A$,$C$F$?$i!"$4$a$s$J$5$$$M!#(J

$B$=$s$J!"$b$C$?$$$J$$!#$_$s$J$1$C$3$&F1$8$h$&$JLdBj$GG:$s$G$$$k$N$G$9$h!#(J
$B$=$3$G$R$C$+$+$C$?!"$H$$$&>pJs$@$1$G$bM-MQ$@$H;W$$$^$9$7!"$^$7$F2r7h(J
$B$G$-$?$N$J$i8@$&$3$H$J$$$H;W$$$^$9!#(J($B8D?ME*$KJ9$-$KMh$i$l$k$h$j$O!"(J
euslisp@etl$B$KEj9F$7$FD:$1$k$H$"$j$,$?$$$G$9(J)

> $B#1!%%P%0H/8+!*!)!)!)(J
> 
>     eusx$ rotation-angle #2f((1.60660e-12 1.00000 -1.79264e-06)
> 			     (1.00000 1.60660e-12 -1.79264e-06)
> 			     (1.79264e-06 1.79264e-06 -1.00000))
>     (3.14159 #f(0.707107 -0.707107 0.0))
>    $B$NCM$,$*$+$7$=$&!#<B:]$3$l$r(Jrotation-matrix$B$K?)$o$;$k$H!"(J
> 
>     eusx$ rotation-matrix 3.14159 #f(0.707107 -0.707107 0.0)
>     #2f((1.60660e-12 -1.00000 -1.79264e-06)
> 	(-1.00000 1.60660e-12 -1.79264e-06)
> 	(1.79264e-06 1.79264e-06 -1.00000))
> $B$H$J$j!">e$N(Jrotation-angle$B$N0z?t$N%^%H%j%/%9$H0c$$$^$9!#(J
> 

$B$O$O$s!"$=$&$@$C$?$N$+!#(JMMD$B$N%G%b$G%O%s%I$,JQ$JJ}8~$K2s$k$3$H$,$"$k$N$O(J
$B$3$N%P%0$N$;$$$+$b$7$l$^$;$s!#(J

$B;{:j$5$s$O!"$3$N8e%P%0$rE,Ev$K2sHr$9$k%W%m%0%i%`$rE:IU$7$F$/$l$?$N$G$9$,!"(J
$BH4K\E*$J2r7h$K$O$J$i$J$$$N$G!"(Jmatrix.c$B$N0J2<$N%Q%C%A$rAw$j$^$9!#(J


----------------------------------------------------------------------

pointer ROTANGLE(n,argv)	/*equivalent rotation axis and angle*/
int n;
pointer argv[];
{ pointer r=argv[0];
  int size;
  float *m,*krv,kx,ky,kz;
  float th,t1,t2,t3;
  float cs,cs2,vers,sn,sn2,norm;
  pointer kr;

  ckarg(1);
  if (!ismatrix(r)) error(E_NOVECTOR);
  size=colsize(r);
  kr=makefvector(3);	/*axis vector*/
  krv=kr->c.fvec.fv;
  m=r->c.ary.entity->c.fvec.fv;
  t1=m[size+size+1]-m[size+2];
  t2=m[2]	   -m[size+size];
  t3=m[size]	   -m[1];
  cs2=m[0]+m[size+1]+m[size+size+2]-1.0;
  cs=cs2/2;
  vers=1-cs;
  sn2=sqrt(t1*t1 + t2*t2 + t3*t3);
  th=atan2(sn2,cs2);
  if (th<1e-10) return(NIL);
  else if (th<2.6) {
    kx=(m[size+size+1]-m[size+2])/sn2;
    ky=(m[2]-m[size+size])/sn2;
    kz=(m[size]-m[1])/sn2;
    }
  else {
    kx=sqrt((m[0]-cs)/vers);
    if (m[size+size+1]-m[size+2]<0) kx= -kx;
    ky=sqrt((m[size+1]-cs)/vers);
    if (m[2]-m[size+size]<0) ky= -ky;
    kz=sqrt((m[size+size+2]-cs)/vers);
    if (m[size]-m[1]<0) kz= -kz;
    }
  /*$B$3$3$,0c$&(J*/
  if ((abs(kx) > abs(ky)) && (abs(kx) > abs(kz))) {
    ky=(m[size]+m[1])/(2*kx*vers); kz=(m[2]+m[size+size])/(2*kx*vers);}
  if ((abs(ky) > abs(kx)) && (abs(ky) > abs(kz))) {
    kx=(m[size]+m[1])/(2*ky*vers); kz=(m[size+2]+m[size+size+1])/(2*ky*vers);}
  else {
    kx=(m[2]+m[size+size])/(2*kz*vers);
    ky=(m[size+2]+m[size+size+1])/(2*kz*vers);}
  /*$B$3$3$^$G$,0c$&(J*/
  norm=sqrt(kx*kx + ky*ky + kz*kz);
  krv[0]=kx/norm; krv[1]=ky/norm; krv[2]=kz/norm;
  return(cons(makeflt(th),cons(kr,NIL)));}

>     $B8m:9$r$I$N$h$&$K$7$F>.$5$/$9$k$N$+$,!"$o$+$i$J$$!#(J
>     $B$J$K$+!"NI$$;X?K$J$j!"J88%$,$"$k$N$G$7$g$&$+!)(J

> $B$H$3$m$G!"(Jeus $B$N4X?t$N2rK!$O!"$I$3$+$i!"F@$i$l$?$b$N$J$N$G$7$g$&$+!)(J
> $B;29MJ88%$O$"$k$N$G$7$g$&$+!)(J

R.Paul$B$N(J"Robot Manipulators: Mathematics, Programming and Control"
$B$r;29M$K$7$F$$$^$9!#(JRoll-Pitch-Yaw, Euler$B3Q$J$I$b(JPaul$B$NDj5A$K=>$C$F$$$^$9!#(J
$B:#2s$N%P%0$O!"Ey2A2sE>3Q$r5a$a$k$H$3$m$G!"(JPaul$B$NK\$K$O$A$c$s$H2r@b$,(J
$B=P$F$$$?$N$G$9$,!"$?$$$7$?8m:9$K$O$J$k$^$$$H$?$+$r$/$/$C$?$N$,$$$1$J(J
$B$+$C$?$h$&$G$9!#<B:]!"K\$K$O!"(J
$B!V0J>e$G(JKr$B$N:GBgMWAG$N$_$rDj$a$?!#B>$NFs$D$NMWAG$O(J1.73$B$NHsBP3QMWAG$N(J
$BE,Ev$JOB$r<h$k$3$H$K$h$jF@$i$l$k<!<0$+$i7W;;$9$kJ}$,$h$j@53N$G$"$k!W(J
                                                    ^^^^^^^^^^^^^
$B$H=q$$$F$"$C$F!"$^$5$+Id9g$,H?E>$9$k$[$I$N8m:9$K$O$J$i$J$$$H;W$C$F$$$?(J
$B$N$G$7$?!#$$$1$^$;$s$M!#(J 

$B$[$i!"$b$C$HB.$/%P%0$N6qBNNc$rAw$C$FD:$1$l$P!"<+J,$G(Jmatrix.c$B$K<j$rF~$l$k(J
$BI,MW$O$J$+$C$?$G$7$g!#(J

From matsui@etl.go.jp Thu May 17 15:50:23 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA26865; Thu, 17 May 90 15:50:22 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA24187; Thu, 17 May 90 15:49:45 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA26862; Thu, 17 May 90 15:49:46 JST
Date: Thu, 17 May 90 15:49:46 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9005170649.AA26862@etlmmd.etl.go.jp>
To: inaba@jsk.t.u-tokyo.ac.jp
Subject: Re:  euslisp mail list
Cc: euslisp@etl.go.jp
Status: R

Dr.inaba wrote:

> $B=w@-$N3X@8$5$s$,(JEus$B$GAHN)$F%7%9%F%`$N%0%i%U%#%C%/%9I=<($r(J
> $B9T$J$C$F$$$F!"$=$N?M$,%^%K%e%"%k$,$J$$$N$+$H$$$C$F:$$C$F$$$^$7$?$+$i!"(J
> $B$A$g$C$H;~4V$,$+$+$k$h$&$K$J$k$+$b$7$l$^$;$s$M!#(J

ptroff$B$N!"4X?tMeNs%^%K%e%"%k$G$OITB-$J$N$G$7$g$&$+!#(J
latex$B$KD>$7$?J}$,$h$$$H$+;W$&$H!"(Jptroff$B$N%=!<%9$K<j$rF~$l$k$N$b(J
$B6lDK$G$9!#(J

> $B:#$N$H$3$m%m!<%I$9$k%U%!%$%k$,$?$/$5$s$"$C$FHs>o$K;~4V$,$+$+$j$^$9!#(J

ld$B$,CY$$$s$@$h$M!#(J

> Lowe$B$,$d$C$F$$$?$h$&$J$3$H$O$G$-$^$9!#(J
> LSF$B$+$iFHN)$G!"(Jline-segment$B$r:n$C$FM?$($l$P$h$$$h$&$K$J$C$F$$$^$9!#(J

$BAuCV:BI87O$+$i$bFHN)$5$;$F$"$k$G$7$g$&$M!#(J

> $B$H$3$m$G!"(JVxworks$B$G(JEus$B$,F0$$$?$H$$$&$3$H$G$7$?$,!"$I$&$G$9$+!)(J
> $B$3$A$i$G$O;j5^(JNeXT$B$N(Jeus$B$r:n$j$?$$$N$G6=L#$,$"$j$^$9!#(J

$B$($(!"%$%s%?%W%j%?$OF0$$$F!"(Jeus$B$G%3%s%Q%$%k$7$?%W%m%0%i%`$N%m!<%I$b2DG=$G$9!#(J
$BLdBj$O(Jimage-save$B$,$G$-$J$$$3$H$G$9!#(Jvxworks($B$K8B$i$:%j%"%k%?%$%`(JOS)$B$O!"(JMMU
$B$r;H$o$:$K<B%a%b%j!"@dBP%"%I%l%9$GF0$$$F$$$^$9$+$i!"8=>u$r%G%#%9%/$KJ]B8$7$?(J
$B$H$7$F$b!"<!2s%m!<%I$9$k%"%I%l%9$,F1$8$G$J$1$l$P@5$7$/F0$-$^$;$s!#$3$l$O(J
$BL5M}$JCmJ8$G$9!#$@$+$i!"Kh2s!"(Jmkeus$B$HF1$8<j4V$r$+$1$F!"(Jraweus$B$+$i(J
common, ....geopack$BEy$r%m!<%I$7$J$1$l$P$J$j$^$;$s!#(Jraweus+$B&A0L$rJL$K%j%s%/(J
$B$7$F$*$$$F(Jvxworks$B@lMQ$K;H$&$3$H$b9M$($i$l$^$9$,!":#2s$OJL$N2r7h$r?^$j$^$7$?!#(J
$B$=$l$O!"(Jvxworks$B$G$O%@%$%J%_%C%/%m!<%I$,2DG=$G$"$j!"$"$H$+$i4X?t$rDI2C$G$-$k(J
$B$3$H$rMxMQ$7$F!"(JC$B$N4X?t$r(Jvxworks$B$K%m!<%I$7!"%M%C%H%o!<%/$rDL$8$?DL?.$G(J
host$B$N(Jeus$B$+$i0z?t$H6&$K$=$N4X?t$r5/F0$9$k$b$N$G$9!#DL?.$O%P%$%J%j$G9T$C$F(J
$B$$$^$9$N$G!"4X?t5/F0$O==J,$K9bB.$G$9!#(J

NeXT$B$G$b(J, ld -A$B$,2DG=!"(Jimage-save$B$,$G$-$k(J(a.out$B$,8x3+$5$l$F$$$k(J)$B!"(J
data $B%;%0%a%s%H$NG[Ns$,L?Na$H$7$F<B9T$G$-$k!"$J$I$N>r7o$rK~$?$;$P(J
$B0\?"$O$G$-$k$H;W$$$^$9!#(J

matsui@etl.go.jp


From inaba@jsk.t.u-tokyo.ac.jp Thu May 17 18:04:11 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA27038; Thu, 17 May 90 18:04:09 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA26154; Thu, 17 May 90 18:03:46 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA03462; Thu, 17 May 90 18:03:22 +0900
Received: from grus by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.66)
	id AA27861; Thu, 17 May 90 18:03:37 +0900
Received: by grus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA06003; Thu, 17 May 90 18:18:14 JST
Date: Thu, 17 May 90 18:18:14 JST
From: inaba@jsk.t.u-tokyo.ac.jp (Masayuki Inaba)
Return-Path: <inaba@jsk.t.u-tokyo.ac.jp>
Message-Id: <9005170918.AA06003@grus.jsk.t.u-tokyo.ac.jp>
To: matsui@etl.go.jp
Cc: euslisp@etl.go.jp
In-Reply-To: Toshihiro MATSUI's message of Thu, 17 May 90 15:49:46 JST <9005170649.AA26862@etlmmd.etl.go.jp>
Subject:  euslisp mail list
Status: R


   >>latex$@$KD>$7$?J}$,$h$$$H$+;W$&$H!"(Jptroff$@$N%=!<%9$K<j$rF~$l$k$N$b(J
   >>$@6lDK$G$9!#(J
$@$3$3$N$H$3$m$O!"(Jroff2tex$@JQ49%W%m%0%i%`$K4|BT$7$?$$$H$3$m$G$9!#(J

   >>$@AuCV:BI87O$+$i$bFHN)$5$;$F$"$k$G$7$g$&$M!#(J

$@$*$C!#$J$C$F$$$J$$$@$m$&$J!"%0%i%U%#%C%/%9$N$h$&$K$O!#(J
256*256$@:8>e86E@1&$H2<$X?-$S$k:BI87O$@$H;W$$$^$9$M!"$-$C$H!#(J

$@$$$C$=$N$3$H#2<!85@~J,$H$$$&$h$j$O!";0<!85$NFs$D$NJ}8~%Y%/%?$G;OE@!"=*E@$r(J
$@I=8=$9$k$h$&$K$7$?$[$&$,$$$$$+$b$7$l$J$$$G$9$M!#(J

$@0pMU(J

From inaba@jsk.t.u-tokyo.ac.jp Sat May 19 15:58:29 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA29979; Sat, 19 May 90 15:58:28 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA27995; Sat, 19 May 90 15:58:15 JST
Received: from ccutrd.cc.u-tokyo.ac.jp by titcca.cc.titech.ac.jp (5.61/6.4titcca)
	id AA07626; Sat, 19 May 90 15:57:51 +0900
Received: from grus by ccut.cc.u-tokyo.ac.jp (5.61/6.4J.6-ut2.66)
	id AA09847; Sat, 19 May 90 15:58:09 +0900
Received: by grus.jsk.t.u-tokyo.ac.jp (4.0/6.4J.6)
	id AA13792; Sat, 19 May 90 16:12:48 JST
Date: Sat, 19 May 90 16:12:48 JST
From: inaba@jsk.t.u-tokyo.ac.jp (Masayuki Inaba)
Return-Path: <inaba@jsk.t.u-tokyo.ac.jp>
Message-Id: <9005190712.AA13792@grus.jsk.t.u-tokyo.ac.jp>
To: euslisp@etl.go.jp
Subject: xview
Status: R



xview directory$@$r$J$/$7$F!"(Jxview$@$N%W%m%0%i%`$r(Jsunlib$@$X0\$7$^$7$?!#(J

xview/demo$@$K$"$C$?%G%b%W%m%0%i%`$O(J sunlib/demo$@$K$"$j$^$9!#(J

Xview$@$H(JSunview$@MQ$N(JEus$@%"%W%j%1!<%7%g%s$rF1$8$h$&$K;H$($k$h$&$KEXNO$7$F(J
$@$$$k$N$G$9$,!"(Jevent$@$N<h$j07$$$J$I$,$9$3$70c$&$?$a$K%&%#%s%I%&$N(J
$@=i4|2=%k!<%A%s$G%H%i%V%k$,5/$3$k$3$H$,$"$j$^$9!#(J

$@$?$H$($P!"%5%V%&%#%s%I%&(JS$@$r;}$C$F$$$k%&%#%s%I%&(JW$@$r:n$k$H$-$K!"(JW$@$N(J:init
$@%k!<%A%s$NCf$G(JS$@$r:n$C$?$"$H$=$N(JS$@$N%5%$%:$r$H$C$F$-$?$j$9$k$h$&$J>l9g$G(J
$@$9!#(J

$@;~$H$7$F(JS$@$N<BBN$,:n$i$l$k$N$,%^%&%9%$%Y%s%H$r$&$1$H$C$?8e$G$J$$$H$@$a(J
$@$G$"$C$?$j$7$^$9!#$D$^$j(JW$@$N<BBN$,$G$-$F(J:show$@$7$?$"$H$G$J$$$H$@$a$@$C$?(J
$@$j$9$k$o$1$G$9!#$=$&$9$k$H(J,S$@$N%5%$%:$r$H$C$F$-$?$j$9$kCJ3,$G$O$^$@(JS$@$N(J
$@<BBN$,$G$-$F$$$J$$$?$a$K!"(JBus error$@$J$I$r$*$3$7$?$j$7$^$9!#(J


From terasaki@marr.tsukuba.sanyo.co.jp Wed May 23 12:48:40 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA04170; Wed, 23 May 90 12:48:39 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA21523; Wed, 23 May 90 10:25:44 JST
Received: by etlcv3.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA21946; Wed, 23 May 90 10:24:19 JST
Received: by tacho.tsukuba.sanyo.co.jp (5.57/6.4J.5-tkb2) id AA10339; Wed, 23 May 90 10:21:45+0900
Received: from marr.tsukuba.sanyo.co.jp by terra.tsukuba.sanyo.co.jp (4.0/6.4J.5-tkb2) id AA04256; Wed, 23 May 90 10:20:43 JST
Received: by marr.tsukuba.sanyo.co.jp (4.0/6.4J.5-tkb1) id AA05797; Wed, 23 May 90 10:21:18 JST
Date: Wed, 23 May 90 10:21:18 JST
From: terasaki@marr.tsukuba.sanyo.co.jp (Hajime Terasaki)
Return-Path: <terasaki@marr.tsukuba.sanyo.co.jp>
Message-Id: <9005230121.AA05797@marr.tsukuba.sanyo.co.jp>
To: matsui@etl.go.jp
In-Reply-To: Toshihiro MATSUI's message of Tue, 22 May 90 22:41:38 JST <9005221341.AA03140@etlmmd.etl.go.jp>
Subject:  euslisp for vax
Status: R

   >>Date: Tue, 22 May 90 22:41:38 JST
   >>From: matsui@etl.go.jp (Toshihiro MATSUI)
   >>$@$&$&$`!#$3$l$O$o$+$j$^$;$s$M!#(J
   >>setjmp.h $@$,(J2$@2s(Jinclude$@$5$l$F$$$k$N$,(J1$@$D$N(J
   >>$@LdBj$N$h$&$G$9$,!"$3$l$O$-$C$H(J ultrix $@$N(Jinclude file$@$N(J
   >>$@9=@.$NLdBj$@$H;W$$$^$9!#$3$A$i$N(Jvax8800$@$G$O!"ESCf$^$G$O(J
   >>$@$3$l$G$&$^$/$$$-$^$9!#(J

$@$o$+$j$^$7$?!#(Jeuslisp for vax $@$O$7$P$i$/%Z%s%G%#%s%0$K$7$^$9!#(J
$@;~4V$,!"$G$-$?$i!"D)@o$9$k$3$H$K$7$^$9!#(J
$@$I$&$b!"$"$j$,$H$&$4$6$$$^$7$?!#(J

$@$H$j$"$($:!"(Jeuslisp for sun4os4 $@$r:n$k$3$H$K$7$^$9!#(J

                                 $@;{:j(J  $@H%!wC^GH8&5f=j!%;0MNEE5!(J
                                  terasaki@tsukuba.sanyo.co.jp
                                          JJ1IEA,SKYLINE

From matsui@etl.go.jp Mon May 28 13:12:22 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA00427; Mon, 28 May 90 13:12:21 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA06024; Mon, 28 May 90 13:11:57 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA00421; Mon, 28 May 90 13:11:47 JST
Date: Mon, 28 May 90 13:11:47 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9005280411.AA00421@etlmmd.etl.go.jp>
To: miya@jsk.t.u-tokyo.ac.jp
Subject: Re:  foreign-string
Cc: euslisp@etl.go.jp
Status: R

> $BElBg!"0f>e!&0pMU8&=$;N#2G/$N5\_7$G$9!#(J
> EusLisp$B$N(Jforeign-string$B$K4X$9$k$3$H$G<ALd$,$"$j!"%a%$%kCW$7$^$7$?!#(J
> $B<B$O%9%H%j%s%0%G!<%?$r(Jcanvas-viewsurface$B$KI=<($9$k%a%=%C%I$rMQ$$$F(J
> $BG;C82hA|(J(512x432x1byte)$B$r(JSunView$B$KI=<($7$h$&$H$7$F$$$k$N$G$9$,!"2h(J
> $BA|%U%!%$%k$NFbMF$N<BBN$r(JEusLisp$B$N%9%H%j%s%0$KFI$_9~$`$N$G$O$J$/!"(J
> foreign-string$B$N$h$&$K!"%U%!%$%k$NCf?H$r$=$N$^$^$"$?$+$b%9%H%j%s%0$G$"(J
> $B$k$+$N$h$&$K07$&$3$H$,=PMh$J$$$+$H9M$($F$$$^$9!#(J
> $B$=$N$h$&$J$3$H$O=PMh$k$N$G$7$g$&$+!)(J

1. How to access the contents of a file as a foreign-string:
(map-file "file-name" :direction :io
		      :length <length>
		      :offset <offset>)
--> #<foreign-string ...>
Please refer to the source code in l/loader.l

2. How to make a foreign-string at a known location:
(make-foreing-string <location> <length>)
Ex.
eus$ (setq a (unix:malloc 10))
388800
eus$ (setq b (make-foreign-string a 10))
#u""


From matsui@etl.go.jp Mon May 28 13:16:26 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA00444; Mon, 28 May 90 13:16:24 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA06112; Mon, 28 May 90 13:16:18 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA00437; Mon, 28 May 90 13:16:08 JST
Date: Mon, 28 May 90 13:16:08 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9005280416.AA00437@etlmmd.etl.go.jp>
To: yuki@gradura.scitec.kobe-u.ac.jp
Subject: Re:  new version euslisp tape
Cc: euslisp@etl.go.jp
Status: R

$B0f>e(J@$B?@8MBg3X$5$s(J:

>   $B$H$j$"$($:$o$+$C$F$$$k$3$H$O!":G6a$N(Jeus$B$O(Jvxworks$BMQ$K0lIt<j$,F~$C$F(J
> $B$=$N$?$a!"%U%!%$%k$N0LCV$bJQ$o$C$F$7$^$C$?$j!"(Jmkcommoneus mkinteus
> $B$J$I$N=i4|@_Dj$N%U%!%$%k$,%P!<%8%g%s$,$:$l$F$7$^$C$F$$$k$_$?$$$G$9!#(J

$B$O$$!"(Jvxworks$B$N%Q%C%A$,Ev$?$C$F$k$N$r$=$N$^$^Aw$C$F$7$^$$$^$7$?!#(J
$B$H$j$"$($:!"(Jmakefile, mkinteus, mkcommoneus$B$rAw$j$^$9!#(J
$B$@$a$J$i$^$?9M$($^$9!#(J

-------------------makefile--------------
# makefile for eus system on sun3,4 with sunOS3,4
#	Copyright (1988) Toshihiro MATSUI, Electrotechnical Laboratory
#	1989/Oct
#	KOBJECTS --- eus kernel objects written in C
#	NOKOBJECTS-- eus kernel, but cannot be optimized with -O option
#	CLIBOBJECTS- functions written in C, not members of kernel
#	LOBJECTS --- functions coded in EUSLISP; must be compiled with euscomp
#	GEOOBJECTS-- geometric modeling functions and classes
#	XOBJECTS---- Xwindow interface
#	ARITHOBJECTS
#
EUSFLAGS=-O
#
# This makefile is valid only for sun3 and sun4.
# An environment variable, MACHINE should be defined outside.
# Since ultrix's make cannot inherit variables from environment,
# remove comment marks(#) at the beginning of next two lines, if you want to
# make eus on vaxex.
#
# MACHINE=vax
# EUSFLAGS=
#
# In addition, vax needs -J option to compile comp.c and common.c.
#
#########################################################################
# IMPORTANT! IMPRTANT! IMPORTANT! IMPOTENT! !IMPORTANT! IMPORTANT!
#########################################################################
#
# Select CFLAGS and XVERSION according to the version of SunOS and Xlib.
#
#CFLAGS=-D$(MACHINE) -Dbsd4_2
#CFLAGS=-D$(MACHINE) -DSunOS4 -Dbsd4_2 -Bstatic -I/usr/share/include \
#	-I/usr/share/include/X11 -I/usr/share/include/X11/xview
CFLAGS=-D$(MACHINE) -DSunOS4 -Dbsd4_2 -Bstatic -I/usr/include \
	-I/usr/include/X11 -I/usr/include/X11/xview
#XVERSION=X_V11R2
#XVERSION=X_V11R3
XVERSION=X_V11R4
#
# When you use window system, you need to override libc.a with a certain
# window library.
SUNVIEWLIB= -lsunwindow -lm
XVIEWLIB=  -lxview -lX11 -lm
RAWLIB=${SUNVIEWLIB}
#RAWLIB=${XVIEWLIB}
#
# If you don't like optimization, comment out the next line.
OFLAGS=-O
#
# public directories
EUSDIR=/usr/local/eus
PUBBINDIR=/usr/local/bin
#
# directories under EUSDIR
BINDIR=bin
CDIR=c
LDIR=l
CLIBDIR=clib
LLIBDIR=llib
COMPDIR=comp
#
# Window Systems
SUNLIBDIR=sunlib
XVIEWDIR=xview
XWINDOWDIR=xwindow
#
# UTYO extension directories
LLIB2DIR=llib2
OBJARITHDIR=objarith
M68INCLUDE=/usr/share/src/m68/include
MWINDIR=mwin
ARMSDIR=arms
2DSEARCHDIR=vision/matching/2dsearch
3DSEARCHDIR=vision/matching/3dsearch
CALIBDIR=vision/matching/calib
#
# object files needed to make euslisp kernel
KOBJECTS= $(CDIR)/memory.o	$(CDIR)/makes.o	\
	  $(CDIR)/eval.o	$(CDIR)/leo.o		\
	  $(CDIR)/eusstream.o   $(CDIR)/reader.o	\
	  $(CDIR)/printer.o 	$(CDIR)/intern.o	\
	  $(CDIR)/loadsave.o    $(CDIR)/sequence.o      \
	  $(CDIR)/lists.o \
	  $(CDIR)/specials.o	$(CDIR)/lispio.o	\
	  $(CDIR)/vectorarray.o	$(CDIR)/arith.o		\
	  $(CDIR)/matrix.o	\
	  $(CDIR)/calleus.o	$(CDIR)/charstring.o	\
	  $(CDIR)/compsub.o	$(CDIR)/eus.o
NOKOBJECTS= $(CDIR)/fcall.o
LOBJECTS= $(LDIR)/readmacro.o\
	  $(LDIR)/common.o	$(LDIR)/pprint.o\
	  $(LDIR)/stream.o	$(LDIR)/loader.o \
	  $(LDIR)/debug.o	$(LDIR)/process.o\
	  $(LDIR)/packsym.o	$(LDIR)/coordinates.o \
	  $(LDIR)/string.o	$(LDIR)/array.o \
	  $(LDIR)/toplevel.o	$(LDIR)/hashtab.o \
	  $(LDIR)/foreign.o	$(LDIR)/mathtran.o
COBJECTS= $(CLIBDIR)/sysfunc.o \
	  $(CLIBDIR)/unixcall.o \
	  $(CLIBDIR)/clip.o \
	  $(CLIBDIR)/intersection.o
COMPOBJECTS= $(COMPDIR)/trans.o \
	     $(COMPDIR)/comp.o
# geometric computation objects
GEOOBJECTS= $(LLIBDIR)/geopack.o \
	    $(LLIBDIR)/primt.o \
	    $(LLIBDIR)/compose.o \
	    $(LLIBDIR)/hid.o \
	    $(LLIBDIR)/viewing.o \
	    $(LLIBDIR)/viewsurface.o \
	    $(LLIBDIR)/viewport.o
# window system objects
SUNVIEWCOBJECTS=  $(SUNLIBDIR)/transargv.o \
		$(SUNLIBDIR)/sunview.o
SUNVIEWOBJECTS=  $(SUNLIBDIR)/sunviewclass.o
XOBJECTS= $(XWINDOWDIR)/Xlibfuncs.o \
	  $(XWINDOWDIR)/Xeus.o
XVIEWCOBJECTS=  $(XVIEWDIR)/transargv.o \
		$(XVIEWDIR)/xview.o
XVIEWOBJECTS= $(XVIEWDIR)/xviewclass.o
#
# UTYO extension objects
#
ARITHOBJECTS= $(OBJARITHDIR)/algebra.o \
	     $(OBJARITHDIR)/2dgeo.o \
	     $(OBJARITHDIR)/3dgeo.o \
	     $(OBJARITHDIR)/ocalib.o
MWIN_COBJECTS=\
	${MWINDIR}/c/mbprim.o \
	${MWINDIR}/c/lsffunc.o \
	${MWINDIR}/c/llsf.o \
	${MWINDIR}/c/ltransprim.o \
	${MWINDIR}/c/transfunc.o
MWIN_OBJECTS=\
	${MWINDIR}/lsfbasic.o \
	${MWINDIR}/visionclasses.l \
	${MWINDIR}/visionclass.o \
	${MWINDIR}/histogram.o \
	${MWINDIR}/mbbasic.o \
	${MWINDIR}/mwinaux.o \
	${MWINDIR}/mbmwinprim.o \
	${MWINDIR}/mwinbasic.o \
	${MWINDIR}/mbtransprim.o
MWIN_CONST_FILES=\
	${MWINDIR}/constants/attnstat.l \
	${MWINDIR}/constants/boardcmd.l \
	${MWINDIR}/constants/boardstat.l \
	${MWINDIR}/constants/comram.l \
	${MWINDIR}/constants/diftype.l \
	${MWINDIR}/constants/esccmd.l \
	${MWINDIR}/constants/featype.l \
	${MWINDIR}/constants/mwin_ctl.l \
	${MWINDIR}/constants/rmvtype.l \
	${MWINDIR}/constants/trktype.l \
	${MWINDIR}/constants/version.l \
	${MWINDIR}/constants/werrno.l \
	${MWINDIR}/constants/wgptype.l \
	${MWINDIR}/constants/wincmd.l \
	${MWINDIR}/constants/winstat.l
ARM_OBJECTS=\
	${ARMSDIR}/dca/dcaprim.o \
	${ARMSDIR}/dca/paraprim.o
RVISION_SPECIALS=  ${MWINDIR}/rlsf.o ${MWINDIR}/rmwin.o
2DSEARCHOBJECTS= $(2DSEARCHDIR)/geoaux.o	$(2DSEARCHDIR)/lineness.o \
		 $(2DSEARCHDIR)/todraw.o 	$(2DSEARCHDIR)/search.o \
		 $(2DSEARCHDIR)/searchmatch.o
3DSEARCHOBJECTS= $(3DSEARCHDIR)/searchaux.o
CALIBOBJECTS= 	 $(CALIBDIR)/raphson.o	$(CALIBDIR)/vec-matrix.o \
		 $(CALIBDIR)/para4poss.o \
		 $(CALIBDIR)/paravcalc.o   $(CALIBDIR)/calibclassfull.o \
		 $(CALIBDIR)/cameraaux.o
MATCHINGOBJECTS= $(2DSEARCHOBJECTS) $(3DSEARCHOBJECTS) $(CALIBOBJECTS)
JSKOBJECTS= $(LLIB2DIR)/pickport.o \
	    $(LLIB2DIR)/local.o 
# Is jskfuncs necessary?
#	    $(LLIB2DIR)/jskfuncs.o \
#
# end of UTYO extension

#
# make rules
#
.SUFFIXES:
.SUFFIXES:	.h .l .c .o
.h.l:
.l.o:
.c.o:	

#
# make dependency
#

eus:	$(BINDIR)/eus

eusview: $(BINDIR)/eusview

eusxview: $(BINDIR)/eusxview

eusx:	$(BINDIR)/eusx

raweus:	$(BINDIR)/raweus
	
inteus:	$(BINDIR)/inteus
	
commoneus:	$(BINDIR)/commoneus

raweusvx:	$(BINDIR)/raweusvx

$(BINDIR)/commoneus:	$(BINDIR)/raweus $(COBJECTS) $(LOBJECTS) $(COMPOBJECTS)
	(mkcommoneus;\
	 rm -f $(BINDIR)/euscomp ; ln -s commoneus $(BINDIR)/euscomp)
$(BINDIR)/inteus:	$(BINDIR)/raweus $(CLIBDIR)/sysfunc.o
	(mkinteus; ln -s inteus $(BINDIR)/euscomp)
$(BINDIR)/eus:	$(BINDIR)/commoneus $(GEOOBJECTS) 
	(mkeus; rm -f $(BINDIR)/euscomp ; ln -s eus $(BINDIR)/euscomp)

$(BINDIR)/eusview:	$(BINDIR)/eus $(ARITHOBJECTS) $(JSKOBJECTS) \
		$(SUNLIBDIR)/sunviewconst.l \
		$(SUNVIEWCOBJECTS) $(SUNVIEWOBJECTS)
	mkeusview
$(BINDIR)/eusxview:	$(BINDIR)/eus $(ARITHOBJECTS) $(JSKOBJECTS) \
		$(XVIEWDIR)/xviewconst.l \
		$(XVIEWCOBJECTS) $(XVIEWOBJECTS)
	mkeusxview

$(BINDIR)/raweus:	$(NOKOBJECTS) $(KOBJECTS)
	 cc -o $(BINDIR)/raweus $(CFLAGS) $(OFLAGS)  \
		$(NOKOBJECTS) $(KOBJECTS) ${RAWLIB}
#$(BINDIR)/raweus:	$(NOKOBJECTS) $(KOBJECTS)
#	 cc -o $(BINDIR)/raweus $(CFLAGS) $(OFLAGS)  \
#		$(NOKOBJECTS) $(KOBJECTS) \
#	       -lsunwindow -lm

#
# VxWorks
#
$(BINDIR)/raweusvx:	$(NOKOBJECTS) $(KOBJECTS) c/vxworks.o
	ld -r -o $(BINDIR)/raweusvx  \
		$(NOKOBJECTS) $(KOBJECTS) c/vxworks.o
c/vxworks.o:	c/vxworks.c
	(cd c; cc -c -Bstatic vxworks.c)
$(KOBJECTS):
	(cd $(CDIR); \
	 cc -c $(CFLAGS) $(OFLAGS) $(*F).c)
$(NOKOBJECTS):
	(cd $(CDIR); \
	 cc -c $(CFLAGS) $(*F).c)
$(COBJECTS):
	(cd $(CLIBDIR); \
	 cc -c $(CFLAGS) $(OFLAGS) $(*F).c)
$(LOBJECTS):
	(cd $(LDIR); \
	 ../bin/euscomp -O $(*F).l)
$(COMPOBJECTS):
	(cd $(COMPDIR); \
	 ../bin/euscomp -O $(*F).l)
$(GEOOBJECTS):
	(cd $(LLIBDIR);\
	 ../bin/euscomp -O $(*F).l)
$(JSKOBJECTS):
	(cd $(LLIB2DIR);\
	 ../bin/euscomp $(*F).l)
$(ARITHOBJECTS):
	(cd $(OBJARITHDIR);\
	 ../bin/euscomp $(*F).l)
$(SUNVIEWCOBJECTS):
	(cd $(SUNLIBDIR); \
	 cc -c $(CFLAGS) $(OFLAGS) $(*F).c)
$(SUNVIEWOBJECTS):
	(cd $(SUNLIBDIR);\
	 ../bin/euscomp $(*F).l)
$(XVIEWCOBJECTS):
	(cd $(XVIEWDIR); \
	 cc -c $(CFLAGS) $(*F).c)
$(XVIEWOBJECTS):
	(cd $(XVIEWDIR);\
	 ../bin/euscomp $(*F).l)
$(MWIN_COBJECTS):
	(cd $(MWINDIR)/c; \
	 cc -c -DSUN $(CFLAGS) $(OFLAGS) -I$(M68INCLUDE) $(*F).c)
$(MWIN_OBJECTS):
	(cd $(MWINDIR);\
	 ../bin/euscomp $(*F).l)
$(ARM_OBJECTS):
	(cd $(ARMSDIR)/dca;\
	 ../bin/euscomp -O $(*F).l)
$(RVISION_SPECIALS):
	(cd $(MWINDIR);\
	 ../bin/euscomp -V -O -O3 $(*F).l)
#$(VIEW_OBJECTS):
#	(cd $(MWINDIR)/demo;\
#	 ../bin/euscomp -V -O -O3 $(*F).l)
$(2DSEARCHOBJECTS):
	(cd $(2DSEARCHDIR);\
	 ../bin/euscomp -O $(*F).l)
$(3DSEARCHOBJECTS):
	(cd $(3DSEARCHDIR);\
	 ../bin/euscomp -O $(*F).l)
$(CALIBOBJECTS):
	(cd $(CALIBDIR);\
	 ../bin/euscomp -O $(*F).l)
$(BINDIR)/eusx:	$(BINDIR)/eus $(XOBJECTS)
	mkeusx
$(XWINDOWDIR)/Xlibfuncs.o:	$(XWINDOWDIR)/Xlibfuncs.c
	(cd $(XWINDOWDIR) ; \
	 cc -c $(CFLAGS) $(OFLAGS) Xlibfuncs.c)
$(XWINDOWDIR)/Xeus.o:	$(XWINDOWDIR)/Xeus.l
	(cd $(XWINDOWDIR) ; \
	 ../bin/euscomp Xeus.l)

doc:	doc/ptroff/eus.doc
	(cd doc/ptroff; tbl eus.doc | ptroff -me -t  >eus.doc.ps)
install:
	(rm -f $(PUBBINDIR)/eus $(PUBBINDIR)/eusx $(PUBBINDIR)/euscomp;\
	 cp $(BINDIR)/eus $(PUBBINDIR);\
	 cp $(BINDIR)/eusx $(PUBBINDIR);\
	 ln -s $(PUBBINDIR)/eus $(PUBBINDIR)/euscomp)
clean:
	rm -f $(LDIR)/*.[ochq] $(LLIBDIR)/*.[ochq] $(COMPDIR)/*.[ochq]
binclean:
	rm -f $(BINDIR)/raweus $(BINDIR)/inteus \
		$(BINDIR)/commoneus $(BINDIR)/euscomp $(BINDIR)/eus
all:
	(make raweus; make inteus ; make commoneus; make eus)

sunviewclean:
	rm -f $(ARITHOBJECTS) $(JSKOBJECTS) \
		$(SUNVIEWCOBJECTS) $(SUNVIEWOBJECTS)
xviewclean:
	rm -f $(ARITHOBJECTS) $(JSKOBJECTS) \
		$(XVIEWCOBJECTS) $(XVIEWOBJECTS)

visionclean:
	rm -f $(MWIN_COBJECTS) $(MWIN_OBJECTS) $(ARM_OBJECTS) \
		$(RVISION_SPECIALS) $(2DSEARCHOBJECTS) $(3DSEARCHOBJECTS) \
		$(CALIBOBJECTS) $(MATCHINGOBJECTS)
eustag : 
	$(BINDIR)/eustags \
	$(EUSDIR)/$(LDIR)/readmacro.l \
	$(EUSDIR)/$(LDIR)/common.l \
	$(EUSDIR)/$(LDIR)/pprint.l \
	$(EUSDIR)/$(LDIR)/stream.l \
	$(EUSDIR)/$(LDIR)/loader.l \
	$(EUSDIR)/$(LDIR)/debug.l \
	$(EUSDIR)/$(LDIR)/process.l \
	$(EUSDIR)/$(LDIR)/packsym.l \
	$(EUSDIR)/$(LDIR)/coordinates.l \
	$(EUSDIR)/$(LDIR)/string.l \
	$(EUSDIR)/$(LDIR)/array.l \
	$(EUSDIR)/$(LDIR)/toplevel.l \
	$(EUSDIR)/$(LDIR)/hashtab.l \
	$(EUSDIR)/$(LDIR)/foreign.l \
	$(EUSDIR)/$(LDIR)/mathtran.l \
	$(EUSDIR)/$(LLIBDIR)/geopack.l \
	$(EUSDIR)/$(LLIBDIR)/primt.l \
	$(EUSDIR)/$(LLIBDIR)/compose.l \
	$(EUSDIR)/$(LLIBDIR)/hid.l \
	$(EUSDIR)/$(LLIBDIR)/viewing.l \
	$(EUSDIR)/$(LLIBDIR)/viewsurface.l \
	$(EUSDIR)/$(LLIBDIR)/viewport.l \
	$(EUSDIR)/$(LLIB2DIR)/pickport.l \
	$(EUSDIR)/$(LLIB2DIR)/local.l \
	$(EUSDIR)/$(OBJARITHDIR)/algebra.l \
	$(EUSDIR)/$(OBJARITHDIR)/2dgeo.l \
	$(EUSDIR)/$(OBJARITHDIR)/3dgeo.l \
	$(EUSDIR)/$(OBJARITHDIR)/ocalib.l \
	$(EUSDIR)/$(SUNLIBDIR)/sunviewclass.l 

#
# contrib from UTYO
#

$(MWIN_CONST_FILES):
	(cd $(MWINDIR)/constants; \
	/usr/local/bin/ctocl $(*F).h > $(*F).l)

visionview: $(BINDIR)/visionview

$(BINDIR)/visionview:  \
		${MWIN_CONST_FILES} \
		${MWIN_COBJECTS} ${MWIN_OBJECTS} \
		${VIEW_OBJECTS} ${MATCHINGOBJECTS} \
		${ARM_OBJECTS}
	mkvisionview

visionxview: $(BINDIR)/visionxview

$(BINDIR)/visionxview:	\
		$(MWIN_CONST_FILES) \
		${MWIN_COBJECTS} ${MWIN_OBJECTS} \
		${VIEW_OBJECTS} ${MATCHINGOBJECTS} \
		$(ARM_OBJECTS)
	mkvisionxview

rvisionview: $(BINDIR)/rvisionview

$(BINDIR)/rvisionview:	\
		$(MWIN_CONST_FILES) \
		${MWIN_COBJECTS} ${MWIN_OBJECTS} \
		${VIEW_OBJECTS} ${MATCHINGOBJECTS} \
		${RVISION_SPECIALS} $(ARM_OBJECTS)
	mkrvisionview

rvisionxview: $(BINDIR)/rvisionxview
$(BINDIR)/rvisionxview:  \
		$(MWIN_CONST_FILES) \
		${MWIN_COBJECTS} ${MWIN_OBJECTS} \
		${VIEW_OBJECTS} ${MATCHINGOBJECTS} \
		${RVISION_SPECIALS} $(ARM_OBJECTS)
	mkrvisionxview

vserver: $(BINDIR)/vserver
$(BINDIR)/vserver: \
		$(MWIN_CONST_FILES) \
		${MWIN_COBJECTS} ${MWIN_OBJECTS}
	mkvserver

mksunviewconst: $(SUNLIBDIR)/makesunviewconst

$(SUNLIBDIR)/sunviewconst.l: $(SUNLIBDIR)/mksunviewconst
	(cd $(SUNLIBDIR); \
	mksunviewconst  > sunviewconst.l)
$(SUNLIBDIR)/mksunviewconst: $(SUNLIBDIR)/makesunviewconst.c
	(cd $(SUNLIBDIR); \
	cc makesunviewconst.c -o mksunviewconst \
	-lsuntool -lsunwindow -lpixrect)

$(XVIEWDIR)/xviewconst.l: $(XVIEWDIR)/makexviewconst.c
	(cd $(XVIEWDIR); \
	cc $(CFLAGS) makexviewconst.c -o mkxviewconst \
		-lxview -lX11; \
	mkxviewconst  > xviewconst.l)

#

-------------------mkinteus------------------------
#
bin/raweus <<EOF
(setq ((find-package 'system) . use) (list (find-package 'lisp)))
(setq *debug* t)
; clib objects
; if this fails, sys:binload defined in c/loadsave.c is wrong.
        (system:makepackage "UNIX" '("OS"))
	(lisp:setq lisp:*package* (lisp:find-package "SYSTEM"))
	(progn 
		(system:binload "clib/sysfunc.o"   ""   "_eusmain")
		"sysfunc.o ok")
	(lisp:setq lisp:*package* (lisp:find-package "UNIX"))
	(lisp:progn (system:binload
			"clib/unixcall.o"
			""		;no quote file
			"_unixcall"	;entry
			"bin/raweus"	;symbol-input
			"/tmp/raweus.a.out"	;symbol-output (reused)
			"-lc -lm")
		"unixcall")
	(lisp:setq lisp:*package* (lisp:find-package "LISP"))
	(lisp:list-all-packages)
	(lisp:setq *package* (lisp:find-package 'lisp))
; llib objects
	(system:alloc 30000)
	"alloc ok"
	(system:alloc 50000)
	(system:srcload "l/readmacro.l")
	"readmacro.l ok"
	(system:srcload "l/packsym.l")
	"packsym.l ok"
	(system:srcload "l/common.l")
	"common.l ok"
	(system:srcload "l/constants.l")
	"constants.l ok"
	(system:srcload "l/stream.l")
	"stream.l ok"
	(system:srcload "l/string.l")
	"string.l ok"
	(system:srcload "l/loader.l")
	(setq *symbol-input* (find-executable *program-name*))
	(setq *eusdir* (pathname (concatenate string (unix:getwd) "/")))
	"loader.l ok"
	(load-files "l/pprint.l"
		    "l/debug.l"
		    "l/process.l"
		    "l/hashtab.l"
		    "l/foreign.l"
		    "l/array.l"
		    "l/mathtran.l")
	(lisp:in-package 'user)
; dummy entry for the toplevel
	(defun lisp:lisp-implementation-version () "new")
; load the compiler
	(in-package "COMPILER" :nicknames '("COMP"))
	(load "comp/builtins.l")
	(load "comp/trans.l")
	(load "comp/comp.l")
	(lisp:in-package 'user)
	(import 'comp:compile)
	(import 'comp:compile-file)
	(import 'comp:comfile)
(print "compiler ok")
; toplevel needs package 'compiler
 	(load "l/toplevel.l")
	"toplevel.l ok"
; lisp-implementation-version
	(eval (list 'defun 'lisp:lisp-implementation-version '()
	    (let ((date (subseq (unix:asctime (unix:localtime)) 0 24))
		  version)
		(with-open-file (f "VERSION")  (setq version (read f)))
		(incf version 0.001)
		(with-open-file (f "VERSION" :direction :output)
		  (format f "~6,3F~%" version ))
	        (format nil "interpreted euslisp version ~6,3f created on ~A"
			version date)) ) )
;
;	(setq *debug* nil)
        (system:gc)
	(save "bin/inteus"   "" 'eustop)

EOF

-----------------mkcommoneus-------------------------
#
#echo $1
bin/raweus <<EOF
; setup error handler
        (system:makepackage "UNIX" '("OS"))
	(defun system:error-handler (&rest mes)
	   (format t "~s~%error occured during boot strapping, bye!~%" mes)
	   (unix:exit 1))
	(setq lisp:*error-handler* 'system:error-handler)
	(setq ((find-package "SYSTEM") . use)
	      (list (find-package "LISP")))
	(setq *debug* t)
; clib objects
	(setq lisp:*package* (lisp:find-package "SYSTEM"))
	(progn (system:binload "clib/sysfunc.o" "" "_eusmain") "sysfunc")
	(lisp:setq lisp:*package* (lisp:find-package "UNIX"))
	(lisp:progn (system:binload
			"clib/unixcall.o"
			""		;no quote file
			"_unixcall"	;entry
			"bin/raweus"	;symbol-input
			"/usr/tmp/raweus.a.out"	;symbol-output (reused)
			"-lc -lm")
		"unixcall")
	(lisp:setq lisp:*package* (lisp:find-package "LISP"))
	(lisp:list-all-packages)
	(proclaim
	    '(special *machine* *os-version* *eusdir* *package*
		      *eus-help-directory*))
;
; set up environmental global variables
;
	(setq lisp:*MACHINE* "$MACHINE")
	(setq lisp:*OS-VERSION* "$OS_VERSION")
	(setq lisp:*EUSDIR* "/usr/local/eus/")
	(setq lisp:*EUS-HELP-DIRECTORY*
	      (concatenate string lisp:*EUSDIR* "doc/help/"))
	(setq lisp:*symbol-input*    "/usr/tmp/raweus.a.out")
; llib objects
	(system:alloc 30000)
	(system:alloc 50000)
	(progn (system:binload "l/readmacro.o" "l/readmacro.q" "_eusmain")
	       "readmacro")
;;;;;	(system:srcload "l/readmacro.l") ;;;;;;
	(progn (system:binload "l/packsym.o" "l/packsym.q" "_eusmain")
	       "packsym")
	(system:binload "l/common.o" "l/common.q" "_eusmain")
	(system:srcload "l/constants.l")
	(system:binload "l/stream.o" "l/stream.q" "_eusmain" *symbol-input*)
	(system:binload "l/string.o" "l/string.q" "_eusmain" *symbol-input*)
	(system:binload "l/loader.o" "l/loader.q" "_eusmain" *symbol-input*)
; hfoo!  Now 'load' is defined!
	(setq *debug* nil)
	(format t "Loader has been loaded.~%")
	(load-files "l/pprint"
		    "l/debug"
		    "l/process"
		    "l/hashtab"
		    "l/foreign"
		    "l/array")
	(in-package "USER")
	(save "bin/smalleus" "bin/raweus")
	(in-package "LISP")
	(load-files "l/coordinates"
		    "l/mathtran")
;;
;; basic eus has been built
;;
;;; dummy entry for the toplevel
	(defun lisp:lisp-implementation-version () "new")
	(setq lisp:euserror nil)
;; load the compiler
	(format t ";;; Loading compiler modules.~%")
	(in-package "COMPILER" :nicknames '("COMP"))
	(load-files "comp/builtins.l"
		    "comp/trans"
		    "comp/comp")
	(lisp:in-package 'lisp)
	(import 'comp:compile)
	(import 'comp:compile-file)
	(import 'comp:comfile)
; 'toplevel' needs package 'compiler
 	(load "l/toplevel")	;;???  :symbol-output *symbol-input*)
; lisp-implementation-version
	(eval (list 'defun 'lisp:lisp-implementation-version '()
	    (let ((date (subseq (unix:asctime (unix:localtime)) 0 24))
		  version)
		(with-open-file (f "VERSION")  (setq version (read f)))
		(incf version 0.001)
		(with-open-file (f "VERSION" :direction :output)
		  (format f "~6,3F~%" version ))
	        (format nil "EusLisp ~6,3f created on ~A"
			version date)) ) )
;;
;; common eus has been built
;;
(in-package "USER")
(setq *debug* nil)

(save "bin/commoneus"
	"bin/raweus"
	'eustop)

EOF



From matsui@etl.go.jp Wed May 30 08:52:39 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA04099; Wed, 30 May 90 08:52:37 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA07178; Wed, 30 May 90 08:52:39 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA04096; Wed, 30 May 90 08:52:21 JST
Date: Wed, 30 May 90 08:52:21 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9005292352.AA04096@etlmmd.etl.go.jp>
To: yuki@grad304d.scitec.kobe-u.ac.jp
Subject: Re:  euslisp makefile
Cc: euslisp@etl.go.jp
Status: R

>  $B?@8MBg3X$N0f>e$G$9!#(Jeusx$B$OL5;v:n@.$G$-$^$7$?!#$I$&$b!"$"$j$,$H$&(J
>$B$4$6$$$^$7$?!#$d$O$j(Jmkcommon,makefil$B$NLdBj$G$7$?!#(J

$B$a$G$?$7!"$a$G$?$7$G$9$M!#$3$A$i$G$O!"2?$+JQ99$r2C$($F$b!"(Jinteus$B$+$i(J
$B:n$jD>$9$3$H$O$a$C$?$K$7$J$$$N$G!"(Jmakefile$B2s$j$K%P%0$,;D$C$?$^$^%F!<%W$r(J
$BG[I[$7$F$7$^$&$3$H$,$"$j$^$9!#$4LBOG$r$*$+$1$7$^$7$?!#(J

>  $B$=$l$G!"$^$?!"JL$N<ALd$J$N$G$9$,!"$3$l$^$G!"(Jeuslisp$B$O!"(JBSD$B7O$N(J
>$B7W;;5!$G$O!"F0:n$7$F$$$k$h$&$G$9$,!"%*%V%8%'%/%H$N9=B$$,$3$H$J$k(J
>SystemV$B7OE}$N7W;;5!!J$3$A$i$K$O(JMIPS R2000$B$r;H$C$?(JU-station$B$,$"$k(J
>$B$N$G!K$G$O!"$^$@!"F0:n$7$F$$$J$$$N$G$7$g$&$+!#$-$C$H(Jload/save$B4XO"(J
>$B$N=j$G$OJQ99$,I,MW$@$H;W$$$^$9$,!"$b$C$H0\?"$KLdBj$"$k=j$H$$$&$N$,(J
>$B$"$k$N$G$7$g$&$+!#$Y$D$K!"0\?"$7$g$&$H$$$&Lu$G$O$J$$$N$G!"$b$7%3%a(J
>$B%s%H$,$"$j$^$7$?$i!"%a%$%k$r$*4j$$$7$^$9!#!J4JC1$J$i8!F$$7$F$7$^$$(J
>$B$=$&$G!#!#!#!#!#!K(J

$B0\?"!"$d$C$F$/$l$^$9$+!)(J $B>pJs$O$$$m$$$mDs6!$G$-$k$H;W$$$^$9!#(J
$B0\?"$N>e$G$^$:8!F$$7$J$1$l$P$J$i$J$$LdBj$O!"(Jdoc/PORT$B$K=q$+$l$F$$$^$9!#(J
UNIX$B$N0c$$$@$1$G$J$/!"(JCPU$B%"!<%-%F%/%A%c$N0c$$$b$-$$$F$-$^$9!#(J
$B3N$+!"(JMIPS$B$K$O(JKCL$B$O0\?"$G$-$F$k$O$:$J$N$G!"(Jlink, image-save
$B$K4X$7$F$O%/%j%d$G$-$k$H;W$$$^$9$7!"$$$6$H$J$l$P%3!<%I$r<Z$j$F$/$k$H8@$&(J
$B9S5;$b$"$jF@$k$H;W$$$^$9!#7rF.$r5'$j$^$9!#(J

$B>>0f(J

From matsui@etl.go.jp Thu May 31 17:38:37 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA05791; Thu, 31 May 90 17:38:36 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA01550; Thu, 31 May 90 17:38:45 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA05786; Thu, 31 May 90 17:38:25 JST
Date: Thu, 31 May 90 17:38:25 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9005310838.AA05786@etlmmd.etl.go.jp>
To: euslisp@etl.go.jp
Subject: float and double vector conversion
Status: R

EusLisp's float-vector is always single precision.
When a C program requests array of double, data type conversion is needed.
Thus, FLOAT2DOUBLE and DOUBLE2FLOAT are defined in clib/double.c.
They accept one or two arguments: the first is converted and stored in the
second arg. If the second arg is omitted, a new float-vector is created.
Enjoy.
matsui@etl

From matsui@etl.go.jp Fri Jun  1 20:50:47 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA07998; Fri, 1 Jun 90 20:50:46 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA24301; Fri, 1 Jun 90 20:50:59 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA07993; Fri, 1 Jun 90 20:50:35 JST
Date: Fri, 1 Jun 90 20:50:35 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9006011150.AA07993@etlmmd.etl.go.jp>
To: euslisp@etl.go.jp
Subject: class hierarchy
Status: R

New methods definition for metaclass follows.
Replace it with the old code in l/common.l.

(defmethod metaclass 
 (:new () (instantiate self))
 (:super () super)
 (:methods () methods)
 (:method (selector) (assoc selector methods))
 (:slots () vars)
 (:name () name)
 (:cid () cix)
 (:cix () cix)
 (:sub ()
    (let (r)
       (dolist (a (system:list-all-classes))
	  (if (eql (send a :super) self) (push a r)) )
       r))
 (:hierarchy ()
    (let (h)
	(dolist (s (send self :sub))
	   (push (send s :hierarchy) h))
        (cons self (nreverse h))))
 (:print-hierarchy (&optional (strm t))
    (labels
	((print-hierarchy (h depth)
	    (spaces depth strm)
	    (print (send (car h) :name) strm)
	    (dolist (s (cdr h))
		(print-hierarchy s (+ depth 5)))))
	(print-hierarchy (send self :hierarchy) 0) ))
 (:prin1 (strm)
     (send-super :prin1 strm (metaclass-name self))))


(send object :print-hierarchy) outputs indented print of all
the classes according to their inheritance structure.

By the way, the mail address mizoro@rdc.toshiba.co.jp does not
reach to Dr.Mizoguchi. Does anyone know his current address?
MATSUI Toshihiro, matsui@etl.go.jp, Electrotechnical Laboratory

From matsui@etl.go.jp Mon Jun 11 10:17:03 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA02404; Mon, 11 Jun 90 10:17:02 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA00962; Mon, 11 Jun 90 10:17:15 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA02401; Mon, 11 Jun 90 10:16:15 JST
Date: Mon, 11 Jun 90 10:16:15 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9006110116.AA02401@etlmmd.etl.go.jp>
To: tshibata@jsk.t.u-tokyo.ac.jp
Subject: Re:  Q about Euscomp
Cc: euslisp@etl.go.jp
Status: R

$BElBg!"<FED$5$s(J

>$B%i%a%C%3$NKhF|$G$9!#6qBNE*$K$O!"@~J,Cj=P$K4X$9$k#L#I#S#P$G=q$+$l$?4X?t(J
>$B$r#C$G=q$-2<$9!"$H$$$&$h$&$J;v$r$7$F$$$^$9!##L#I#S#P<+BN$NJY6/$K$b$J$C(J
>$B$F$H$F$bLLGr$$$G$9!#(J
>  $B$=$3$G!"%$%s%9%?%s%7%(%$%H$b#C$G$G$-$J$$$b$N$+$H;W$C$F$$$m$$$m%=!<%9(J
>$B$rGA$$$?$N$G$9$,!"(Jpointer fqv[] $B$N>pJs$,J,$+$i$J$$$N$G$9!#$I$3$K%/%i%9(J
>$B$N!"$=$7$F$I$3$K%a%=%C%I$N>pJs$,G<$^$C$F$$$k$N$+!&!&$H$$$&$+!"(Jeuscomp
>$B$,$I$N$h$&$K(Jfqv$B$r%;%C%H$7$F$$$k$N$+$r!"$<$R65$($F2<$5$$!#(J

$B%3%s%Q%$%k$5$l$?%3!<%I$,%m!<%I$5$l$k$H!"$=$N:G8e$K%3%s%Q%$%i$,(J
$BIU$12C$($k(Jeusmain$B$H$$$&4X?t$,<B9T$5$l$^$9!#(Jeusmain$B$K$O!"(Jmod$B$H$$$&(J
$B0z?t$,EO$5$l$^$9$,!"$3$l$O%/%i%9(Jcompiled-code$B$N%$%s%9%?%s%9$G!"(J
$B%W%m%0%i%`$N%3!<%I(J($B%$%s%9%H%i%/%7%g%sNs(J)$B$NF~$C$?%P%$%H%Y%/%?$H(J
$B$=$N%W%m%0%i%`Cf$G;2>H$9$k(Jlisp$BDj?t$N%Y%/%?(J(quote-vector)$B$rMWAG$K(J
$B;}$A$^$9!#(Jeusmain$B$N@hF,$GJQ?t(Jqv$B$K(Jquote-vector$B$N%"%I%l%9$,%;%C%H$5$l$^$9!#(J
quote-vector$B$X$N;2>H$OHs>o$KIQHK$K@8$:$k$N$G!"3F4X?tCf$G$O(Jqv$B$NCM$r(J
$B%l%8%9%?JQ?t(Jfqv(fast-quote-vector)$B$K%-%c%C%7%e$7$F$$$^$9!#(J

$B%/%i%9$N>pJs$O!"$=$N%/%i%9L>%7%s%\%k$N(Jspecial-value$B$K%P%$%s%I$5$l$^$9!#(J
$B$@$+$i!"(Jlisp$B$N%H%C%W%l%Y%k$G!"(Jobject$B$H$+!"(J(symbol-value 'cons)$B$H$+(J
$B$d$l$P$=$N%/%i%9%*%V%8%'%/%H$,<h$j=P$;$^$9!#$"$k%$%s%9%?%s%9$+$i!"(J
$B$=$N%/%i%9$,2?$G$"$k$+$rCN$k$K$O!"4X?t(Jclass$B$r;H$$$^$9!#(J(class '(a b))
$B$O(Jcons$B%/%i%9$rJV$7$^$9!#%/%i%9%*%V%8%'%/%H$H$$$&$N$O!"DL>o$O%/%i%9(J
metaclass$B$N%$%s%9%?%s%9$G$9!#%/%i%9(Jmetaclass$B$b<B$O%*%V%8%'%/%H$G$9$,!"(J
$B$=$N%/%i%9$O(Jmetametaclass$B$G$O$J$/$F!"<+J,<+?H$9$J$o$A%/%i%9(Jmetaclass$B$G$9!#(J

$B$3$N%/%i%9%*%V%8%'%/%H$NCf$K!"%9!<%Q%/%i%9$d$i!"%9%m%C%HJQ?t!"%a%=%C%I$N(J
$B%j%9%H$d$i$,F~$C$F$$$^$9!#(Jsend$B$9$k$H!"$3$N%a%=%C%I%j%9%H$r%5!<%A$9$k$o$1$M!#(J
$B$@$1$I!"Kh2s%5!<%A$9$k$s$G$OCY$$$+$i!"$h$/%"%/%;%9$5$l$k%a%=%C%I$O%O%C%7%e(J
$BI=$KEPO?$7$F%9%T!<%I%"%C%W$7$F$k$o$1!#(J

$B$@$1$I!"(Jfqv$B$NOC$7$H%a%=%C%IDj5A$N$"$j$+$NOC$7$OJL$@$H;W$&$s$@$1$I!#(J
$B$=$l$K%f!<%6$,(Jfqv$B$K%"%/%;%9$9$k%W%m%0%i%`$r=q$/$H8@$&$N$O0[>o$G$9!#(J
$B<B9T$N$7$/$_$rCN$j$?$$$H8@$&$N$J$i!"$^$"$$$$$s$G$9$1$I!"$b$&0lEY!"(J
$B2?$r$d$j$?$$$N$+=g$rDI$C$F=q$$$F$b$i$($^$;$s$+!#(J

>  $B$3$l$+$i!"F0$$$F$$$kJ*BN$N@~J,%Y!<%9$N%j%"%k%?%$%`G'<1$H$$$&%F!<%^$K(J
>$BD)@o$7$F9T$-$?$$$H;W$$$^$9!#(J

$B%W%m%0%i%`$,$G$-$?$iEj9F$7$F2<$5$$!#(J

$B>>0f(J@etl.go.jp


From matsui@etl.go.jp Mon Jun 11 22:44:06 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA03146; Mon, 11 Jun 90 22:44:05 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA15209; Mon, 11 Jun 90 22:44:05 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA03142; Mon, 11 Jun 90 22:43:07 JST
Date: Mon, 11 Jun 90 22:43:07 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9006111343.AA03142@etlmmd.etl.go.jp>
To: tshibata@jsk.t.u-tokyo.ac.jp
Subject: Re:  Re Re: Q about Euscomp
Cc: euslisp@etl.go.jp
Status: R

>$B$NG'<1!W$G$9!#$=$N$?$a$K>c32$H$J$C$F$$$k$3$H$O!"(J
>
>$B#1!%#L#S#F$+$i@~J,%j%9%H$rFI$_=P$9$N$K;~4V$,$+$+$k!#(J

$B:#7W$C$F$_$?$i!"(J250$BK\$[$I%;%0%a%s%H$,$"$k>l9g!"(Jsparc$B$G(J60msec$B$[$I$G$7$?!#(J
$B$=$l$G!"(Jlsf$B$N%a%b%j$K%"%/%;%9$7$F%i%$%s%;%0%a%s%H$N>pJs$r$D$/$j=P$9ItJ,$r(J
$B<!$.$N$h$&$K(JC$B$G=q$$$F8+$^$7$?$,!"M=A[DL$j!"$?$$$7$?2~A1$OF@$i$l$^$;$s$G$7$?!#(J

-----------------------------------------------------------

#include "../c/eus.h"

/*
(defun lstm-line(page i)
  (declare (integer i))
  (let ((cp (+ i (* 2048 page) #x4000)))
    (declare (integer cp))
    ;(bank 7)	;lstm
    (list (logand #xff (aref lsf-proc cp))
          (logand #xff (aref lsf-proc (+ cp #x2000)))
          (float-vector (aref lsf-proc (+ cp #x4000))
		        (aref lsf-proc (+ cp #x6000)))
          (float-vector (aref lsf-proc (+ cp #x8000))
	 	        (aref lsf-proc (+ cp #xa000))))) )
*/

extern pointer makefvector();

static pointer LSTMLINE(n,argv)
int n;
pointer *argv;
{ int cp;
  unsigned char *lsf=(unsigned char *)(argv[0]->c.ivec.iv[0]);
  int page=ckintval(argv[1]), i=ckintval(argv[2]);
  pointer spoint,epoint,result;

  ckarg(3);
  cp = 2048 * page + 0x4000 + i;

  vpush(makeint(lsf[cp]));
  vpush(makeint(lsf[cp+0x2000]));
  spoint=makefvector(2);
  spoint->c.fvec.fv[0]=lsf[cp+0x4000];
  spoint->c.fvec.fv[1]=lsf[cp+0x6000];
  vpush(spoint);
  epoint=makefvector(2);
  epoint->c.fvec.fv[0]=lsf[cp+0x8000];
  epoint->c.fvec.fv[1]=lsf[cp+0xa000];
  vpush(epoint);
  result=(pointer)stacknlist(4);
  return(result);}

eusmain(mod)
pointer mod;
{ defun("LSTM_LINE",mod,LSTMLINE);
  }

------------------------------------------------------------

$B$3$l$O!"G[Ns%"%/%;%9$NB.EY$h$j!"<B:]$K(Jfloat-vector, cons$B$J$I$r(Jinstantiate
$B$9$k;~4V$NLdBj$@$H;W$$$^$9!#(J250$B%;%0%a%s%H$N>l9g$G$9$H!"Am?tLs(J2500$B$N(Jinstantiate
$B$,9T$o$l!"AmNL$H$7$F(J9000$B%o!<%I$[$I$N%a%b%j$,3d$jIU$1$i$l$^$9!#(J
1$B2s$N(Jinstantiate(c$B$G$O(Jmalloc$B$KAjEv(J)$B$KLs(J20microsec$B$+$+$k$H$9$k$H!"(J
2500*20microsec=50milisec$B$H$J$j!"$[$H$s$I$,(Jinstantiate$B$GHq$d$5$l$F$$$k(J
$B$3$H$,$o$+$j$^$9!#<B:]$K$O(J20microsec$B$h$jB?>/B.$$$H;W$$$^$9$,!"(J10micro$B0J2<(J
$B$O87$7$$CM$G$9!#(JEusLisp$B$N%a%b%j3d$jIU$1$NB.EY$O!"(Jcons$B$O(Jkcl$B$h$j$[$s$N(J
$B>/$70-$/!"(Jvector$B$OAjEvB.$$$O$:$G$9!#@$$NI8=`$K$OC#$7$F$$$k$H;W$&!#(J
c$B$G(Jmalloc$B$r;H$C$?$H$7$?$i!"$d$C$Q$j$3$N$/$i$$$NB.EY$@$H;W$$$^$9!#(J
$B$@$+$i!"$3$N>l9g!"(JC$B$G=q$/$3$H$N0UL#$O$[$H$s$I$J$$!#(J

$B$A$J$_$K!"%j%9%H$d%Y%/%?$K$J$C$?%*%V%8%'%/%H$NAmNL$O!"(Jsys:object-size
$B$H$$$&4X?t$G$o$+$j$^$9!#$?$H$($P!"(J(sys:object-size '(1 #(1 2 3) 4))
$B$O!"(J(4 10 15)$B$H$$$&%j%9%H$rJV$7$^$9!#$3$l$O!"(Jcons$B$,(J3$B8D!"%Y%/%?$,(J1$B8D$G(J
$B%*%V%8%'%/%H?t$O(J4$B!"(Jcons$B$K$O(Jcar,cdr$B$,$"$j!"%Y%/%?$O(J3$BMWAG(J+length$B$J$N$G(J
$B%o!<%I?t$O(J3*2+(3+1)=10$B!"%a%b%j4IM}$NET9g>e!"<c43$NL5BL(J(internal loss)
$B$,@8$8$F!"A4It$G$O(J15$B%o!<%I3d$jIU$1$i$l$?$3$H$r0UL#$7$^$9!#Aj8_;2>H!"(J
$B:F5"9=B$$b@5$7$/%+%&%s%H$9$k$O$:$G$9!#$?$@$7!"%7%s%\%k$^$G9T$/$H$"$H$O(J
$B$?$I$i$J$$$N$G!"(Jproperty-list$B$NCf$^$G$O%+%&%s%H$7$J$$!#$=$l$r$d$k$3$H$b(J
$B$G$-$k$h$&$K$O$J$C$F$$$^$9$,!"$=$&$9$k$H%7%9%F%`Cf$NA4%*%V%8%'%/%H$r%+%&%s%H(J
$B$9$k$3$H$K$J$C$F$7$^$$$^$9$+$i!#(J

>$B#2!%@~J,%j%9%H$+$i%(%C%8!&LL>pJs$r<h$j=P$9$N$K;~4V$,$+$+$k!#(J
>$B#3!%%b%G%k%^%C%A%s%0$K;~4V$,$+$+$k!#(J

$B$3$l$O$I$&$d$C$F$b$9$0$K$O=*$i$J$$LdBj$G$7$g$&!#0B0W$K(JC$B$G=q$/$h$j$O(J
$B%"%k%4%j%:%`!"%G!<%?9=B$$r9)IW$9$k$[$&$,@$$N$?$a$K$J$k$G$7$g$&!#(J
$B$=$l$K!"(Jlsf$B$N%O!<%I$,(J2$B$D!"%o!<%/%9%F!<%7%g%s$K(J1$B$D!"7W(J3$B8DJBNs$KF0$1$k(J
$B%W%m%;%C%5$,$"$k$3$H$rMxMQ$7$F$$$^$9$+!#$?$H$($P%+%a%i$G%5%s%W%j%s%0(J
$B$7$F$$$k4V$K(Jline-segment$B>pJs$rFI$_=P$;$k$O$:$G$9!#(J

>$B$H$$$&$3$H$G$9!#(J
>
>  $B$=$3$G!"$H$j$"$($:#1!%$r<B8=$7$?$o$1$G$9$,!J#2!A#3G\DxEY$N9bB.2=!K!"(J

$B$3$l$O!"$b$H$N(Jlisp$B$N%W%m%0%i%`$,$H$F$bCY$+$C$?$N$G$9$M!#(JETL$B$G$O$[$H$s$I(J
$BJQ$o$j$^$;$s$G$7$?!#(J

>$B$=$l$b#L#S#F$N%a%b%j!J#L#S#T#M!K$+$iCM$r<h$j=P$7$F!"%U%m!<$H%Y%/%?$N%j(J
>$B%9%H$K$9$k$H$3$m$^$G$G$9!#$G!"$3$N4X?t!J(Jlsf:read-polylines)$B$N%H%C%W%l(J
>$B%Y%k%k!<%W$G%$%s%9%?%s%7%(%$%H$r4^$s$@%k!<%W$r2s$7$F$$$k$N$G!"%$%s%9%?(J
>$B%s%7%(%$%H$b0l5$$K#C$G$G$-$J$$$+$J$H;W$C$?$o$1$G$9!#$=$3$G!"KM$J$j$KD4(J
>
>$B$Y$F$_$?$H$3$m(J(lsfbasic.c$BCf$K(J)
>	local[4]= loadglobal(fqv[79]);                      
>	vsp=local+5;				            
>	w=(pointer)INSTANTIATE(1,local+4); /*instantiate*/  
>	local[4]= w;					    
>	local[5]= fqv[3];				    
>	local[6]= local[2];				    	
>	vsp=local+7;
>        w=(pointer)SEND(3,local+4); /*send*/
>        local[4]= w;
>
>        $B!J$3$l$O#L#I#S#P$G$O(J (instance 2dpolyline :init poss) $B$NItJ,$G(J
>$B$9!#!K(J
>$B$3$&$$$&5-=R$,$"$C$?$b$N$G$9$+$i!"$-$C$H(Jfqv[]$B$K%/%i%9$d%a%=%C%I$N>pJs(J
>$B$,$"$k$H;W$C$?$N$G$9!#(J

$B$3$3$G!"(Jfqv[79]$B$NCf?H$O(J2dpolyline$B$H$$$&%7%s%\%k$G$9!#(Jloadglobal$B$G$=$N(J
$BCM$r<h$C$F$/$k$N$G!"(Jlocal[4]$B$K$O!"(J2dpolyline$B$N%/%i%9%*%V%8%'%/%H$,F~$j$^$9!#(J

>  $B#C$N%l%Y%k$G%$%s%9%?%s%9$9$kJ}K!$r$o$+$j$d$9$/65$($F$$$?$@$1$J$$$b$N(J
>$B$G$7$g$&$+!"$^$?$O!"$d$a$?J}$,$$$$$N$G$7$g$&$+!)!)(J

c/makes.c$B$K!"(Jmakeobject(class),makevector(vclass,size)$B$H$$$&4X?t$,$"$j$^$9!#(J
$B$3$l$i$,0lHV(Jgeneral$B$J(Jinstantiate$B4X?t$G$9!#$"$H!"(Jmakes.c$B$K$O%*%V%8%'%/%H$r(J
$B:n$k4X?t$,$$$m$$$m$"$k$N$GD4$Y$F2<$5$$!#(J

>  $BKM$O!"$J$k$Y$/Aa$/$K#2!%$^$G0l5$$K#C$N4X?t$G$d$l$k$h$&$K$J$C$?$i$$$$(J
>$B$J$H;W$C$F$$$^$9!#(J

C$B$O(Jlisp$BFCM-$N=hM}$r4^$^$J$$$h$&$J(Jlow-level$B$J$H$3$m!"$"$k$$$O$=$N(J
c$B$N%3!<%I$rB>$N(Jc$B$N%W%m%0%i%`$G;H$($k$h$&$J>lLL$K8B$C$F;H$&$Y$-$@$H(J
$B;W$$$^$9!#(J

$B$"$o$F$F=q$$$?$N$G0UL#ITL@NF$N$H$3$m$b$"$k$H;W$$$^$9$,!"$^$?!"$$$:$l!#(J


From matsui@etl.go.jp Wed Jun 20 22:03:59 1990
Received: from etlcom.etl.go.jp by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA19608; Wed, 20 Jun 90 22:03:58 JST
Received: by etlcom.etl.go.jp (5.51/6.4J.6-ETL.MASTER)
	id AA04547; Wed, 20 Jun 90 22:05:13 JST
Received: by etlmmd.etl.go.jp (4.0/6.4J.6-ETL.SLAVE)
	id AA19605; Wed, 20 Jun 90 22:03:42 JST
Date: Wed, 20 Jun 90 22:03:42 JST
From: matsui@etl.go.jp (Toshihiro MATSUI)
Return-Path: <matsui@etl.go.jp>
Message-Id: <9006201303.AA19605@etlmmd.etl.go.jp>
To: euslisp@etl.go.jp
Subject: new feature of hid
Status: R

EusLisp update news			1990Jun20   MATSUI T., ETL

summary: Hidden lines can be drawn with dashed-lines by the HIDD function.

Arguments are same as HID.
(HIDD &optional viewer &rest things)

In HID operation, edges are categorized into five groups:
	(1) visible contour edges
	(2) visible approximated edges
	(3) invisible contour edges
	(4) invisible non-approximated edges
	(5) invisible approximated edges

Approximated edges are edges which are generated by approximation
of curved surface, like side strips of a cylinder.

HID always draws only group (1), visible contour edges.
HIDD always draws group (1) and (3), and can draw edges in groups
(2), (4) and (5) under the control of two global variables,
*IGNORE-APPROXIMATED-EDGES* and *DRAW-INVISIBLE-EDGES*.

*IGNORE-APPROXIMATED-EDGES*	*DRAW-INVISIBLE-EDGES*
	NIL				NIL	   -->(1),(2),(3)
	NIL				T	   -->(1),(2),(3),(4),(5)
	T				NIL	   -->(1),    (3),
	T				T 	   -->(1),    (3),(4)

By default, *IGNORE-APPROXIMATED-EDGES* is T and
*DRAW-INVISIBLE-EDGES* is NIL.

For this feature, Xeus.l is also edited to allow dashed-line drawing.
I don't know how to draw it on tektro-viewsurface.

--
MATSUI Toshihiro, matsui@etl.go.jp, Electrotechnical Laboratory

