This file is indexed.

/usr/share/xcrysden/examples/Scripting/multiScript.tcl is in xcrysden-data 1.5.53-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# ------------------------------------------------------------------------
#****** ScriptingExamples/multiScript.tcl ***
#
# NAME
# multiScript.tcl -- a simple example of multi-job script (i.e. multiScript)
#
# USAGE
# xcrysden --script multiScript.tcl
#
# COPYRIGHT
# Anton Kokalj (C) 2003
#
# PURPOSE

# This is a scripting example that shows how to produce a multi-jobs.
# It uses the scripting::multiScript facility. Many times, one might
# want to produce several plots of molecular orbitals of a given
# molecule. It would be desirable that the display parameters are
# exactly the same for all plots. This is one such example, where CO
# HOMO and LUMO molecular-orbitals are printed. 
#
# The multiScript uses major and minor script. In the first script the
# loading of the files is specified, while in the latter script the
# operations of what to do with each file are defined. The usage of
# multiScript is:
#
# scripting::multiScript scriptMajor scriptMinor
#
# scripting::multiScript scriptMajor scriptMinor


#
# WARNINGS
# Inside the major-script (i.e. scriptMajor) the scripting::exec
# should be used instead of scripting::open.

#
# AUTHOR
# Anton Kokalj
#
# CREATION DATE
# Sometime in February 2003
# 
# SOURCE

scripting::multiScript {

    # ------------------------------------------------------------------------
    # This is the MAJOR script 
    #
    # It opens two files, one at a time, and then for each opened
    # file proceed according to minor script instructions
    # ------------------------------------------------------------------------
    global env
    set dir [file join $env(XCRYSDEN_TOPDIR) examples Xcrysden_Structure_Files]
    
    set file1 [file join $dir CO_homo.xsf.gz]
    set file2 [file join $dir CO_lumo.xsf.gz]
    
    foreach file [list $file1 $file2] {
	# load the $file XSF
	scripting::exec --xsf $file
	
	# rename print.png to $file.png
	if { [file exists print.png] } {
	    set filehead [file tail [file rootname $file]]
	    file rename -force print.png $filehead.png
	}
    }

} {

    # ------------------------------------------------------------------------
    # This is the MINOR script
    #
    # It produces and prints the isosurface + colorplane
    # ------------------------------------------------------------------------


    # ------------------------------------------------------------------------
    # display the structure in appropriate display-mode
    # ------------------------------------------------------------------------
    
    scripting::lighting On
    scripting::displayMode3D Pipe&Ball

    # ------------------------------------------------------------------------
    # zoom and rotate the structure 
    # ------------------------------------------------------------------------

    scripting::zoom -0.5
    scripting::rotate x -90 

    # ------------------------------------------------------------------------
    # load the 3D scalar field
    # ------------------------------------------------------------------------
    
    scripting::scalarField3D::load

    # ------------------------------------------------------------------------
    # configure, i.e., specify how to render the scalar field
    #
    # for the usage see, for example, isosurface+colorplane+print.tcl file
    # ------------------------------------------------------------------------

    scripting::scalarField3D::configure \
	-isosurface           1 \
	-interpolation_degree 2 \
	-isolevel             0.1 \
	-plusminus            1 \
	-basalplane           2 \
	-colorbasis           BLUE-WHITE-RED \
	-scalefunction        LINEAR \
	-expand2D             specify \
	-expand2D_X 	      1 \
	-expand2D_Y           1 \
	-expand2D_Z           1 \
	-colorplane           1 \
	-isoline              1 \
	-colorplane_lighting  0 \
	-cpl_transparency     0 \
	-cpl_thermometer      1 \
	-2Dlowvalue           -0.1 \
	-2Dhighvalue          +0.1 \
	-2Dnisoline           11 \
	-anim_step            1 \
	-current_slide        25 \
	-isoline_color        monocolor \
	-isoline_width        3 \
	-isoline_monocolor    \#000000

    # ------------------------------------------------------------------------
    # hide the isosourface control window
    # ------------------------------------------------------------------------
    
    wm withdraw .iso

    # ------------------------------------------------------------------------
    # render the 3D scalar field as requested by 
    # scripting::scalarField3D::configure
    # ------------------------------------------------------------------------
    
    scripting::scalarField3D::render
    
    
    # # ------------------------------------------------------------------------
    # # revert the isosurface normals (this should be done after rendering of 
    # # isosurface)
    # # ------------------------------------------------------------------------
    # 
    # scripting::scalarField3D::configure -revertnormal {pos neg}

    # ------------------------------------------------------------------------
    # now lets print to file what we have on the display window
    # ------------------------------------------------------------------------

    scripting::printToFile print.png windowdump    

    # we've done all; exit
    exit 0
}

#******