Difference for vnd/orient.tcl from version 1.3 to 1.4

version 1.3version 1.4
Line 15
Line 15
     variable paxis     variable paxis
     variable COM     variable COM
     variable I     variable I
     variable priority_axis 
 } }
  
 # package require Orient # package require Orient
Line 123
Line 122
     variable COM     variable COM
     variable I     variable I
     variable a1     variable a1
     variable priority_axis 
  
          
     set x $xarg     set x $xarg
Line 174
Line 172
     graphics $mol color green     graphics $mol color green
     vmd_draw_vector $mol $COM [vecscale $scale $a3]     vmd_draw_vector $mol $COM [vecscale $scale $a3]
  
     #setup data and order ascending 
     set items [list [list xpriori [lindex $ranges 0]] [list ypriori [lindex $ranges 1]] [list zpriori [lindex $ranges 2]]]     set items [list [list x [lindex $ranges 0]] [list y [lindex $ranges 1]] [list z [lindex $ranges 2]]]
     set ordered [lsort -real -index 1 $items]     set ordered [lsort -real -index 1 $items]
     #set xpriori, ypriori, zpriori variables here. 
     set [lindex $ordered 0 0] "3" 
     set [lindex $ordered 1 0] "2" 
     set [lindex $ordered 2 0] "1" 
         switch [lindex $ordered 2 0] { 
         "xpriori" {set ::NeuronVND::priority_axis "[lindex $I 0]"}  
         "ypriori" {set ::NeuronVND::priority_axis "[lindex $I 1]"} 
         "zpriori" {set ::NeuronVND::priority_axis "[lindex $I 2]"} 
     } 
  
     #a1 is x, a2 is z, a3 is y     set xindex [lsearch $ordered x] 
      set yindex [lsearch $ordered y]  
      set zindex [lsearch $ordered z]
      
  
      if {$xindex == 0} {
          set a1weight "3"
      } elseif {$xindex == 1} {
          set a1weight "2"
      } elseif {$xindex == 2} {
          set a1weight "3"
      }
  
      if {$yindex == 2} {
          set a2weight "1"
      } elseif {$yindex == 1} {
          set a2weight "2"
      } elseif {$yindex == 0} {
          set a2weight "3"
      }
      if {$zindex == 1} {
          set a3weight "2"
      } elseif {$zindex == 0} {
          set a3weight "3"
      } elseif {$zindex == 2} {
          set a3weight "1"
      }
  
      set a1weight "3"
      set a2weight "1"
      set a3weight "2"
     graphics $mol color white     graphics $mol color white
     graphics $mol text [vecadd $COM [vecscale $scale2 $a1]] "$xpriori"     graphics $mol text [vecadd $COM [vecscale $scale2 $a1]] "$a1weight"
     graphics $mol text [vecadd $COM [vecscale $scale2 $a2]] "$zpriori"     graphics $mol text [vecadd $COM [vecscale $scale2 $a2]] "$a2weight"
     graphics $mol text [vecadd $COM [vecscale $scale2 $a3]] "$ypriori"     graphics $mol text [vecadd $COM [vecscale $scale2 $a3]] "$a3weight"
     set paxis [list $a1 $a2 $a3]     set paxis [list $a1 $a2 $a3]
     return $paxis     return $paxis
 } }
Line 285
Line 304
     #initial principal axes tensor     #initial principal axes tensor
     set I $::Orient::calculated_axis     set I $::Orient::calculated_axis
     Orient::vnd_orient     Orient::vnd_orient
     variable priority_axis 
      puts "$COM"
      puts "$I"
  
     set newa1 ""     set newa1 ""
     set newa2 ""     set newa2 ""
     set newa3 ""     set newa3 ""
     setminmax "" 
  
  
     set x $xarg     set x $xarg
Line 318
Line 338
                              [lindex $ranges 1] \                              [lindex $ranges 1] \
                              [lindex $ranges 2]]]                              [lindex $ranges 2]]]
     set scale2 [expr 1.02 * $scale]     set scale2 [expr 1.02 * $scale]
  
     set rot_m $::Orient::calculated_list     set rot_m $::Orient::calculated_list
  
     set newa1 [coordtrans [lindex $rot_m 0] [lindex $I 0]]     set newa1 [coordtrans [lindex $rot_m 0] [lindex $I 0]]
     set newa2 [coordtrans [lindex $rot_m 1] [lindex $I 1]]     set newa2 [coordtrans [lindex $rot_m 1] [lindex $I 1]]
     set newa3 [coordtrans [lindex $rot_m 2] [lindex $I 2]]     set newa3 [coordtrans [lindex $rot_m 2] [lindex $I 2]]
  
     set items [list [list xpriori [lindex $ranges 0]] [list ypriori [lindex $ranges 1]] [list zpriori [lindex $ranges 2]]]     #Need to make this chunk more efficient in finding the largest axis and labeling it "1"
      set items [list [list x [lindex $ranges 0]] [list y [lindex $ranges 1]] [list z [lindex $ranges 2]]]
     set ordered [lsort -real -index 1 $items]     set ordered [lsort -real -index 1 $items]
  
     puts "testingggg under draw_aligment _ axis $ordered"     set xindex [lsearch $ordered x] 
     #set xpriori, ypriori, zpriori variables here.     set yindex [lsearch $ordered y]  
     set [lindex $ordered 0 0] 3     set zindex [lsearch $ordered z] 
     set [lindex $ordered 1 0] 2     if {$xindex == 0} {
     set [lindex $ordered 2 0] 1         set a1weight "3"
      } elseif {$xindex == 1} {
     switch [lindex $ordered 2 0] {         set a1weight "2"
         "xpriori" {set priority_axis "[lindex $I 0]"}      } elseif {$xindex == 2} {
         "ypriori" {set priority_axis "[lindex $I 1]"}         set a1weight "3"
         "zpriori" {set priority_axis "[lindex $I 2]"}     }
  
      if {$yindex == 0} {
          set a2weight "3"
      } elseif {$yindex == 1} {
          set a2weight "2"
      } elseif {$yindex == 2} {
          set a2weight "3"
      }
      if {$zindex == 0} {
          set a3weight "3"
      } elseif {$zindex == 1} {
          set a3weight "2"
      } elseif {$zindex == 2} {
          set a3weight "3"
     }     }
  
     graphics $mol color 20     graphics $mol color 20
     set COM [Orient::sel_com $x $y $z]     set COM [Orient::sel_com $x $y $z]
     vmd_draw_vector $mol $COM [vecscale $scale $newa1]     vmd_draw_vector $mol $COM [vecscale $scale $newa1]
     vmd_draw_vector $mol $COM [vecscale $scale $newa2]     vmd_draw_vector $mol $COM [vecscale $scale $newa2]
     vmd_draw_vector $mol $COM [vecscale $scale $newa3]     vmd_draw_vector $mol $COM [vecscale $scale $newa3]
  
      set a1weight "2"
      set a2weight "3"
      set a3weight "1"
     graphics $mol color white     graphics $mol color white
     #now just drawing straight from calculated axis     #now just drawing straight from calculated axis
     graphics $mol text [vecadd $COM [vecscale $scale2 $newa1]] "$xpriori stupiid "     graphics $mol text [vecadd $COM [vecscale $scale2 $newa1]] "$a1weight"
     graphics $mol text [vecadd $COM [vecscale $scale2 $newa2]] "$ypriori stupid y"     graphics $mol text [vecadd $COM [vecscale $scale2 $newa2]] "$a2weight"
     graphics $mol text [vecadd $COM [vecscale $scale2 $newa3]] "$zpriori stupid z"     graphics $mol text [vecadd $COM [vecscale $scale2 $newa3]] "$a3weight"
     set alignment_vector [list $newa1 $newa2 $newa3]     set alignment_vector [list $newa1 $newa2 $newa3]
     return $alignment_vector     return $alignment_vector
  
 } }
  
 #prototype for drawing the alignment axis or "final position" #prototype for drawing the alignment axis or "final position"


Legend:
Removed in v.1.3 
changed lines
 Added in v.1.4



Made by using version 1.65 of cvs2html