Merge branch 'leadoff'
[physik/posic.git] / visualize
index 665cb67..0b8fc61 100755 (executable)
--- a/visualize
+++ b/visualize
@@ -39,6 +39,7 @@ bx0=""; by0=""; bz0="";
 bx1=""; by1=""; bz1="";
 bcr="";
 clx="0"; cly="0"; clz="0";
+extra=0
 
 # parse argv
 
@@ -58,6 +59,7 @@ while [ "$1" ]; do
                                bx1=$5; by1=$6; bz1=$7; shift 7;;
                -B)             bcr=$2;                 shift 2;;
                -C)             lc=$2;                  shift 2;;
+               -e)             extra=1;                shift 1;;
                *)
                                echo "options:"
                                echo "########"
@@ -159,18 +161,21 @@ EOF
 
        # atoms
        if [ -n "$x0" ]; then
-               export x0 y0 z0 x1 y1 z1 radius
+               export x0 y0 z0 x1 y1 z1 radius extra
                cat $file | grep -v '#' | awk '\
                BEGIN {
                        x0=ENVIRON["x0"]; y0=ENVIRON["y0"]; z0=ENVIRON["z0"];
                        x1=ENVIRON["x1"]; y1=ENVIRON["y1"]; z1=ENVIRON["z1"];
-                       radius=ENVIRON["radius"];
+                       radius=ENVIRON["radius"]; extra=ENVIRON["extra"];
                }
                {
                        if(($2>=x0)&&($3>=y0)&&($4>=z0)&&\
                           ($2<=x1)&&($3<=y1)&&($4<=z1)) {
                                print "sphere { <"$2","$4","$3">, "radius" ";
-                               print "texture { pigment { color "$5" } ";
+                               if(extra)
+               print "texture { pigment { color rgb<"$6/4.4",0,"1-$6/4.4"> } ";
+                               else
+               print "texture { pigment { color "$5" } ";
                                print "finish { phong 1 metallic } } }";
                        }
                }' >> temp.pov
@@ -194,29 +199,30 @@ EOF
        # boundaries
        if [ -z "$bx0" ]; then
 
-       if [ -z "$x0" ]; then
+       #if [ -z "$x0" ]; then
 
        cat $file | grep '# \[D\]' | while read foo bar x1 y1 z1 x2 y2 z2 ; do
-               draw_cyl $x1 $z1 $y1 $x2 $z2 $y2 0.05
+               draw_cyl $x1 $y1 $z1 $x2 $y2 $z2 0.05
        done
 
-       else
+       #else
+
                # manually drawing the 3x4 boundaries ...
-               draw_cyl $x0 $y0 $z0 $x1 $y0 $z0
-               draw_cyl $x0 $y0 $z0 $x0 $y1 $z0
-               draw_cyl $x1 $y1 $z0 $x1 $y0 $z0
-               draw_cyl $x0 $y1 $z0 $x1 $y1 $z0
-
-               draw_cyl $x0 $y0 $z1 $x1 $y0 $z1
-               draw_cyl $x0 $y0 $z1 $x0 $y1 $z1
-               draw_cyl $x1 $y1 $z1 $x1 $y0 $z1
-               draw_cyl $x0 $y1 $z1 $x1 $y1 $z1
-
-               draw_cyl $x0 $y0 $z1 $x0 $y0 $z0
-               draw_cyl $x0 $y1 $z1 $x0 $y1 $z0
-               draw_cyl $x1 $y0 $z1 $x1 $y0 $z0
-               draw_cyl $x1 $y1 $z1 $x1 $y1 $z0
-       fi
+#              draw_cyl $x0 $y0 $z0 $x1 $y0 $z0
+#              draw_cyl $x0 $y0 $z0 $x0 $y1 $z0
+#              draw_cyl $x1 $y1 $z0 $x1 $y0 $z0
+#              draw_cyl $x0 $y1 $z0 $x1 $y1 $z0
+
+#              draw_cyl $x0 $y0 $z1 $x1 $y0 $z1
+#              draw_cyl $x0 $y0 $z1 $x0 $y1 $z1
+#              draw_cyl $x1 $y1 $z1 $x1 $y0 $z1
+#              draw_cyl $x0 $y1 $z1 $x1 $y1 $z1
+
+#              draw_cyl $x0 $y0 $z1 $x0 $y0 $z0
+#              draw_cyl $x0 $y1 $z1 $x0 $y1 $z0
+#              draw_cyl $x1 $y0 $z1 $x1 $y0 $z0
+#              draw_cyl $x1 $y1 $z1 $x1 $y1 $z0
+#      fi
 
        else
 
@@ -287,7 +293,7 @@ EOF
 
        # mv png
        $POVRAY temp.pov > /dev/null 2>&1
-       time=`echo $file | awk -F. '{ print $1 }' | awk -F_ '{ print $3 }'`
+       time=`basename $file | awk -F. '{ print $1 }' | awk -F_ '{ print $3 }'`
        convert $COPTS -draw "text 5,20 't = $time fs'" temp.png temp.png
        mv temp.png `echo $file | sed 's/\.xyz/\.png/'`