Home About Description Documentation Download News Register  
XCrySDen --
(X-Window)
	      CRYstalline Structures and DENsities

[Figure]
XCrySDen Scripting Documentation

Table of Contents
    ScriptingExamples/isosurface+colorplane+print.tcl

Generated from isosurface+colorplane+print.tcl with ROBODoc v3.2.4 on Wed May 25 16:04:51 2005


ScriptingExamples/isosurface+colorplane+print.tcl

NAME
 isosurface+colorplane+print.tcl -- plots and prints isosurface and contours

USAGE
 xcrysden --script isosurface+colorplane+print.tcl

COPYRIGHT
 Anton Kokalj (C) 2003

PURPOSE
 This is a scripting example that shows how to render the isosurface
 and contour plots simultaneously by loading the XSF file which
 contains the description of the 3D scalar field. Then the
 isosurface+contours plot is printed to a file.

AUTHOR
 Anton Kokalj

CREATION DATE
 Sometime in February 2003
 
SOURCE
    # ------------------------------------------------------------------------
    # load the structure (the argument to scription:open is the command line
    # ------------------------------------------------------------------------
    
    scripting::open --xsf $env(XCRYSDEN_TOPDIR)/examples/Xcrysden_Structure_Files/CO_homo.xsf.gz
    
    
    
    # ------------------------------------------------------------------------
    # display the structure in appropriate display-mode (must be Lighting-On)
    # ------------------------------------------------------------------------
    
    #-----
    # this is for Lighting-On modes:
    #-----
    scripting::lighting On
    
    # choose a 3D-display mode
    
    #scripting::displayMode3D Stick
    scripting::displayMode3D Pipe&Ball
    #scripting::displayMode3D BallStick
    #scripting::displayMode3D SpaceFill
    #----
    
    
    # ------------------------------------------------------------------------
    # load the 3D scalar field
    # ------------------------------------------------------------------------
    
    scripting::scalarField3D::load
    
    # ------------------------------------------------------------------------
    # hide the isosourface control window
    # ------------------------------------------------------------------------
    
    #IsoControl_Hide
    # alternatively you could do
    wm withdraw .iso
    
    
    #
    # description of scripting::scalarField3D::configure options:
    #
    # ------------------------------------------------------------------------
    #   OPTION::                 ALLOWED-VALUES + Description          STATUS
    # ------------------------------------------------------------------------
    #   -isosurface              0|1                                 REQUIRED
    #                            0 = do not render isosurface
    #                            1 = render isosurface
    #
    #   -interpolation_degree    integer                             OPTIONAL
    #                            degree of scalar-field interpolation
    #
    #   -isolevel                real                                REQUIRED
    #                            the isovalue of isosurface
    #
    #   -plusminus               0|1
    #                            0 = display only the isosurface of isovalue 
    #                                specified by -isolevel
    #                            1 = display the two isosurfaces of +-isovalue
    #
    #   -revertsides             pos|neg|{pos neg}
    #                            pos = revert the front- and back-side of isovalue 
    #                                  isosurface
    #                            neg = revert the front- and back-side of -isovalue
    #                                  isosurface
    #   -revertnormals           pos|neg|{pos neg}
    #                            pos = revert the normals of isovalue isosurface
    #                            neg = revert the normals of -isovalue isosurface
    #
    #   -expand                  none|whole|specify
    #                            none = do not expand the isosurface along the 
    #                                   periodic directions
    #                            whole = expand the isosurface over the
    #                                    whole structure along the periodic 
    #                                    directions
    #                            specify = expand the isosurface along the
    #                                      periodic directions as specified by 
    #                                      -expand_X, -expand_Y, and -expand_Z 
    #                                      factors
    #
    #   -expand_X                positive-integer
    #                            expand  isosurface n-times along the 1st
    #                            periodic dimension
    #
    #
    #   -expand_Y                positive-integer
    #                            expand  isosurface n-times along the 2nd
    #                            periodic dimension
    #
    #   -expand_Z                positive-integer
    #                            expand  isosurface n-times along the 3rd
    #                            periodic dimension
    #
    #   -basalplane              0|1|2
    #                            show the ith basal plane (0=xy, 1=xz, 2=yz)
    #                            as colorplane and/or isolines (as specified by
    #                            -colorplane and -isoline options)
    #
    #   -colorbasis              MONOCHROME|RAINBOW|RGB|GEOGRAPHIC|BLUE-WHITE-RED
    #                            the color basis for the colorplane
    #
    #   -scalefunction           LINEAR|LOG10|SQRT|3th-ROOT|EXP(x)|EXP(x^2)
    #                            the scalefunctions for contour/colorplane plots
    #
    #   -expand2D                none|whole|specify
    #                            none = do not expand the contour/colorplane plots
    #                                   along the periodic directions
    #                            whole = expand the contour/colorplane plots
    #                                    over the whole structure along the 
    #                                    periodic directions
    #                            specify = expand the contour/colorplane plots
    #                                    along the periodic directions as specified
    #                                    by -expand2D_X, -expand2D_Y, and 
    #                                    -expand2D_Z factors
    #
    #   -expand2D_X              positive-integer
    #                            expand  contour/colorplane n-times along the 1st
    #                            periodic dimension
    #
    #
    #   -expand2D_Y              positive-integer
    #                            expand  contour/colorplane n-times along the 2nd
    #                            periodic dimension
    #
    #   -expand2D_Z              positive-integer
    #                            expand  contour/colorplane n-times along the 3rd
    #                            periodic dimension
    #
    #   -colorplane              0|1
    #                            do not display|display the colorplane
    #
    #   -isoline                 0|1
    #                            do not display|display the isolines
    #             
    #   -colorplane_lighting     0|1
    #                            0 = do not perform lighting for colorplane
    #                            1 = perform lighting for colorplane
    #
    #   -cpl_transparency        0|1
    #                            0 = render colorplane as non-transparent
    #                            1 = render colorplane as transparent
    #
    #   -cpl_thermometer         0|1
    #                            0 = do not make a legend (i.e. thermometer) for 
    #                                colorplane colors
    #                            1 = make a legend (i.e. thermometer) for 
    #                                colorplane colors
    #
    #   -2Dlowvalue              real
    #                            minimum rendered value of colorplane/isolines
    #
    #   -2Dhighvalue             real
    #                            maximum rendered value of colorplane/isolines
    #              
    #   -2Dnisoline              positive-integer
    #                            number of isoline
    #
    #   -anim_step               positive-integer
    #                            animation step
    #
    #   -current_slide           positive-integer
    #                            iD (i.e. sequential number) of colorplane
    #
    #   -isoline_color           monocolor|{property color}
    #                            monocolor = all isolines have the same color
    #                            {property color} = isolines are colorer according
    #                            to color-basis
    #
    #   -isoline_width           positive-integer
    #                            width (i.e. thickness) of isolines
    #
    #   -isoline_monocolor       #rgb
    #                            color of the monolor-type isolines
    #
    # ------------------------------------------------------------------------
    #
    #
    # Example:
    #
    # scripting::scalarField3D::configure \
    #     -isosurface           1 \
    #     -interpolation_degree 2 \
    #     -isolevel             0.1 \
    #     -plusminus            1 \
    #     -revertsides          {pos neg} \
    #     -revertnormal         {pos neg} \
    #     -expand               specify \
    #     -expand_X             1 \
    #     -expand_Y             1 \
    #     -expand_Z             1 \
    #     -basalplane           0 \
    #     -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        30 \
    #     -isoline_color        monocolor \
    #     -isoline_width        3 \
    #     -isoline_monocolor    \#000000
    # 
    
    
    # ------------------------------------------------------------------------
    # configure, i.e., specify how to render the scalar field
    # ------------------------------------------------------------------------
    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
    
    
    # ------------------------------------------------------------------------
    # render the 3D scalar field as requested by 
    # scripting::scalarField3D::configure
    # ------------------------------------------------------------------------
    
    scripting::scalarField3D::render
    
    
    # ------------------------------------------------------------------------
    # zoom and rotate the structure 
    # ------------------------------------------------------------------------
    
    scripting::zoom -0.5
    scripting::rotate x -90 
    
    
    # ------------------------------------------------------------------------
    # now lets print to file what we have on the display window
    # ------------------------------------------------------------------------
    
    # this will query the filename:
    scripting::printToFile; # here the colorplane legend is NOT printed 
    
    # # while this will print directly to print.png:
    # scripting::printToFile print.png windowdump; # here the colorplane legend is printed    
    


Home | About | Description | Documentation | Download | News | Register
Webmaster: Tone Kokalj
This document was last modified on Tue May 31 10:23:34 CEST 2005