Ignore:
Timestamp:
Sep 27, 2011 11:35:12 AM (10 years ago)
Author:
toby
Message:

fix RB where atoms are missing in sequence; turn of X flag when atoms are added to a RB; put 'r' on RB atoms in listbox; doc 'r'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/sandbox/rigid.tcl

    r1172 r1173  
    507507                      set col 11
    508508                      set atomnum $::rb_map_beginning($phase,$bodnum,$mapnum)
    509                       for {set coordnum 1} {$coordnum <=$::rb_coord_num($bodnum,1)} {incr coordnum} {
    510                           set atom [atominfo $phase $atomnum label]
    511                           grid [label $main.rb_site$phase$mapnum$coordnum -text "$atom"] -row $row -column $col -padx 5
    512                           incr atomnum
    513                           incr col
    514                       }
     509                 # get a list of the atoms in the RB
     510                 set st [lsearch $::expmap(atomlist_$phase) $atomnum]
     511                 set en [expr {$st+$::rb_coord_num($bodnum,1)-1}]
     512                 set atoms [lrange $::expmap(atomlist_$phase) $st $en]
     513                 foreach a $atoms {
     514                     set lbl [atominfo $phase $a label]
     515                     grid [label $main.rb_site$phase$mapnum$a -text $lbl] -row $row -column $col -padx 5
     516                     incr col
     517                 }
    515518             }
    516519     incr row
     
    798801#   puts "position = $origin"
    799802#   puts "Euler = $euler"
    800    MapRigidBody $::rb_phase $::body_type $::rb_firstatom $origin $euler
    801    RecordMacroEntry "MapRigidBody $::rb_phase $::body_type $::rb_firstatom $origin $euler" 0
     803    MapRigidBody $::rb_phase $::body_type $::rb_firstatom $origin $euler
     804    RecordMacroEntry "MapRigidBody $::rb_phase $::body_type $::rb_firstatom $origin $euler" 0
    802805   incr ::rb_map($::body_type)
    803    incr ::expgui(changed)
    804806   set curpage [$::rb_notebook raise]
    805807   $::rb_notebook raise [$::rb_notebook page end]
     
    881883    grid [label $main.ph -text "Phase"] -row 1 -column 2 -padx 5
    882884    set matrixnum $::rb_matrix_num($bodnum)
     885    grid [label $main.rb_sitelbl -text "Site number"] -row 0 -column 3 -columnspan 5 -sticky w
    883886    for {set coordnum 1} {$coordnum <= $::rb_coord_num($bodnum,$matrixnum)} {incr coordnum} {
    884         label $main.rb_site$coordnum -text "Site $coordnum"
     887        label $main.rb_site$coordnum -text "$coordnum"
    885888        grid $main.rb_site$coordnum -row 1 -column [expr 2 + $coordnum]
    886889    }
     
    889892        incr row
    890893        foreach coordnum [RigidBodyMappingList $phase $bodnum] {
    891                 set row [expr $row + $coordnum]
    892                 RB_Load_Mapdata $phase $bodnum $coordnum
    893                 checkbutton $main.unmap$phase$coordnum -variable ::rb_unmap($phase,$bodnum,$coordnum)
    894                 grid $main.unmap$phase$coordnum -row $row -column 0
    895                 grid [label $main.rb_map$phase$coordnum -text "$coordnum"] -row $row -column 1
    896                 grid [label $main.rb_cb$phase$coordnum -text $phase] -row $row -column 2
    897                       set atomnum $::rb_map_beginning($phase,$bodnum,$coordnum)
    898                       set col 3
    899                       for {set j 1} {$j <=$::rb_coord_num($bodnum,$matrixnum)} {incr j} {
    900                           set atom [atominfo $phase $atomnum label]
    901                           grid [label $main.rb_site$phase$coordnum$j -text "$atom"] -row $row -column $col
    902                           incr atomnum
    903                           incr col
    904                       }
    905              }
    906      incr row
    907      }
    908      ResizeScrollTable $um
     894            set row [expr $row + $coordnum]
     895            RB_Load_Mapdata $phase $bodnum $coordnum
     896            checkbutton $main.unmap$phase$coordnum -variable ::rb_unmap($phase,$bodnum,$coordnum)
     897            grid $main.unmap$phase$coordnum -row $row -column 0
     898            grid [label $main.rb_map$phase$coordnum -text "$coordnum"] -row $row -column 1
     899            grid [label $main.rb_cb$phase$coordnum -text $phase] -row $row -column 2
     900            set atomnum $::rb_map_beginning($phase,$bodnum,$coordnum)
     901            # get a list of the atoms in the RB
     902            set st [lsearch $::expmap(atomlist_$phase) $atomnum]
     903            set en [expr {$st+$::rb_coord_num($bodnum,0)-1}]
     904            set atoms [lrange $::expmap(atomlist_$phase) $st $en]
     905            set col 3
     906            foreach a $atoms {
     907                set lbl [atominfo $phase $a label]
     908                grid [label $main.rb_site$phase$coordnum$col -text $lbl -padx 3] -row $row -column $col
     909                incr col
     910            }
     911        }
     912        incr row
     913    }
     914    ResizeScrollTable $um
    909915
    910916     grid [frame $um.update -bd 2 -relief groove] -row 0 -column 1 -pady 10
     
    10461052
    10471053}
    1048 
    1049 
    10501054
    10511055proc RB_Edit_Matrix_Abort {bodnum location} {
     
    16461650        set ::rb_coord_num($bodnum,1) $::gcon_atoms
    16471651
    1648         MapRigidBody $::rb_phase $bodnum $::gcon_start [lindex $temp1 0] [lindex $temp1 1]
    1649         RecordMacroEntry "MapRigidBody $::rb_phase $bodnum $::gcon_start [lindex $temp1 0] [lindex $temp1 1]" 0
     1652     MapRigidBody $::rb_phase $bodnum $::gcon_start [lindex $temp1 0] [lindex $temp1 1]
     1653     RecordMacroEntry "MapRigidBody $::rb_phase $bodnum $::gcon_start [lindex $temp1 0] [lindex $temp1 1]" 0
    16501654     incr ::expgui(changed)
    16511655     RecordMacroEntry "incr expgui(changed)" 0
     
    17851789#                         puts "first atom = $atomnum"
    17861790#                         set atomlist "atoms in rigid body #$bodnum:    "
    1787                          set atomlist "atoms in rigid body:    "
    1788                          for {set j 1} {$j <=$::rb_coord_num($bodnum,1)} {incr j} {
    1789                              set atom [atominfo $phasenum $atomnum label]
    1790                              lappend atomlist $atom
    1791 #                            grid [label $main.rb_site$phasenum$mapnum$j -text "$atom"] -row [expr $row +1] -column $col -padx 5
    1792                              incr atomnum
    1793 #                             incr col
     1791                         set atomlist {}
     1792                         # get a list of the atoms in the RB
     1793                         set st [lsearch $::expmap(atomlist_$phase) $atomnum]
     1794                         set en [expr {$st+$::rb_coord_num($bodnum,1)-1}]
     1795                         set atoms [lrange $::expmap(atomlist_$phase) $st $en]
     1796                         foreach a $atoms {
     1797                             if {$atomlist != ""} {append atomlist ", "}
     1798                             set lbl [atominfo $phase $a label]
     1799                             append atomlist $lbl
    17941800                        }
    1795                         grid [label $main.rb_site$phasenum$bodnum$mapnum -text "$atomlist"] -row [expr $row + 1] -column 4 -padx 5 -columnspan 999 -sticky w
     1801                        grid [label $main.rb_site$phasenum$bodnum$mapnum \
     1802                                  -text "atoms in rigid body:    $atomlist"] \
     1803                             -row [expr $row + 1] -column 4 -padx 5 -columnspan 999 -sticky w
    17961804                        incr row 2
    17971805                     }
     
    19231931#procedure for enabling refinement flags
    19241932proc RB_Ref_FlagEnable {phasenum bodnum mapnum var val args} {
    1925           set atomlist ""
    1926           set atomnum $::rb_map_beginning($phasenum,$bodnum,$mapnum)
    1927           for {set j 1} {$j <=$::rb_coord_num($bodnum,1)} {incr j} {
    1928                lappend atomlist $atomnum
    1929                incr atomnum
    1930           }
    1931           atominfo $phasenum $atomlist $var set $val
    1932 
     1933    set atomnum $::rb_map_beginning($phasenum,$bodnum,$mapnum)
     1934    # get a list of the atoms in the RB
     1935    set st [lsearch $::expmap(atomlist_$phase) $atomnum]
     1936    set en [expr {$st+$::rb_coord_num($bodnum,1)-1}]
     1937    set atomlist [lrange $::expmap(atomlist_$phase) $st $en]
     1938    atominfo $phasenum $atomlist $var set $val
    19331939 }
    19341940
Note: See TracChangeset for help on using the changeset viewer.