Subversion Repositories wimsdev

Rev

Rev 752 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed


!if $wims_read_parm!=slib_header
 !goto proc
!endif
slib_title=3D Viewer
slib_parms=2\
,data\
,option (for example : <tt>label=true bond="ffffff"</tt>)
slib_author=Bernadette PERRIN-RIOU
slib_out=applet code for visualizing simple 3D wireframe polyhedron. The java applet used is \
LatticeViewer. Extract from the source :\
<pre>\
 LatticeViewer.java\
 Date :       18th Feb 1998     \
 Adapted by : Simon P.A.Gill\
 http://www.le.ac.uk/engineering/spg3/lattice/\
 The following java code is an adaptation of the Molecule Viewer XYZApp.java\
 freely distributed by Sun Microsystems. The conditions stated below apply\
 to this code. S.P.A. Gill takes no responsibility for this code. \
 Requires class Matrix3D.java (also from Sun at\
 http://www.javasoft.com:80/applets/js-applets.html)
 </pre>
slib_comment=the first parameter can be the name of a polyhedron\
of the database (see later)\
or the content of an xyz file. \
<br>Allowed options are the followings:\
<br><tt>label</tt> can be <tt>true</tt> or <tt>false</tt>, if <tt>true</tt>, the points are labelled\
by a number\
<br><tt>box</tt> can be </tt>true </tt> or <tt>false</tt> if true, \
bonds between vertices of radius 0 are displayed\
<br><tt>scale</tt>\
<br><tt>format</tt> can be <tt>off</tt> or <tt>xyz</tt>\
<br><tt>width</tt> in pixels\
<br><tt>height</tt> in pixels\
<br><tt>bgcolor</tt> as "ffffff" : background color\
<br><tt>bondcolor</tt> as "ffffff" : color of the bonds \
<br>Defaults are: <tt>label=false bgcolor="000000" bondcolor="9966CC" \
box=true bonds=true scale=0.8 format=pdb width=300 height=300</tt>\
<br> An example of a xyz-file is\
<pre>ATOM C 255 0 0 1.0\
ATOM X 0 0 0 0.0\
c 0 0 0 2\
c 0.985977 0.985977 0.985977 3 7\
c 0 1.97195 1.97195 4\
c 0.985977 2.95792 2.95792 9 12\
c 1.97195 0 1.97195 2 6\
c 2.95792 0.985977 2.95792 10 13\
c 1.97195 1.97195 0 8\
c 2.95792 2.95792 0.985977 9 11\
c 1.97195 3.94389 1.97195\
c 3.94389 1.97195 1.97195 8\
c 3.94389 3.94389 0\
c 0 3.94389 3.94389\
c 1.97195 1.97195 3.94389 4\
c 3.94389 0 3.94389 6\
x 0 0 3.94389\
x 3.94389 0 0\
x 0 3.94389 0\
x 3.94389 3.94389 3.94389\
</pre>\
<br> Index of database (off format): <pre>$slib_index </pre>
slib_example=cube,label=false scale=0.8 height=300 width=300\
cl2o,label=true scale=1 height=300 width=300
!exit

:proc

slib_data = !item 1 of $wims_read_parm
slib_option= !item -1 of  $wims_read_parm

!default slib_cnt=0
slib_cnt= $[$slib_cnt +1]

!for slib_a in label,scale,box,bonds,bgcolor,bondcolor,format,width,height
  slib_$slib_a=!getopt $slib_a in $slib_option
!next slib_a


!default slib_label=false
!default slib_bgcolor="ffffff"
!default slib_bondcolor="000000"
!default slib_box=true
!default slib_bonds=true
!default slib_scale=0.8
!default slib_format=pdb
!default slib_width=300
!default slib_height=300

slib_out=
slib_cnt_word=!wordcnt $slib_data
!if $slib_cnt_word=1
  slib_data=!record 0 of data/polyedre_off/$slib_data.off
  slib_format=off
!endif
!if $slib_format issametext off
 !readproc slib/geo3D/off2xyz $slib_data
 slib_atomes=$slib_out
!else
slib_atomes=$slib_data
!endif
slib_atomes=!translate $        $ to $\
$ in $slib_atomes

slib_fichier=fichier.$slib_cnt

!readproc oef/togetfile.proc $slib_fichier new\
$slib_atomes

slib_out=$wims_ref_name?session=$session&cmd=getfile&special_parm=$slib_fichier

slib_out=<applet codebase=java/Lattice code=LatticeViewer.class width=$slib_width height=$slib_height>\
<param name=model value=$slib_out>\
<param name=label    value=$slib_label>\
<param name=scale    value=$slib_scale>\
<param name=box      value=$slib_box>\
<param name=bonds    value=$slib_bonds>\
<param name=bgcolor  value=$slib_bgcolor>\
<param name=bondcolor value=$slib_bondcolor></applet>