- Timestamp:
- Jun 21, 2016, 4:27:45 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gui/scripts/vtkviewer.tcl
r6361 r6405 134 134 private variable _click; # info used for rotate operations 135 135 private variable _limits; # autoscale min/max for all axes 136 private variable _fieldlimits; # maps dataobj-comp to field limits 137 private variable _fieldComponents; # maps dataobj-comp-fname to number of 138 # components 136 139 private variable _view; # view params for 3D view 137 140 private variable _settings … … 241 244 set _arcball [blt::arcball create 100 100] 242 245 $_arcball quaternion [ViewToQuaternion] 243 244 set _limits(zmin) 0.0245 set _limits(zmax) 1.0246 246 247 247 array set _axis [subst { … … 263 263 }] 264 264 array set _settings [subst { 265 glyphs-edges 0 266 glyphs-lighting 1 267 glyphs-opacity 100 268 glyphs-outline 0 269 glyphs-palette BCGYR 270 glyphs-visible 1 271 glyphs-wireframe 0 272 legend 1 273 molecule-atoms-visible 1 274 molecule-atomscale 0.3 275 molecule-bonds-visible 1 276 molecule-bondscale 0.075 277 molecule-bondstyle "cylinder" 278 molecule-edges 0 279 molecule-labels 0 280 molecule-lighting 1 281 molecule-opacity 100 282 molecule-outline 0 283 molecule-palette elementDefault 284 molecule-quality 1.0 285 molecule-representation "Ball and Stick" 286 molecule-rscale "covalent" 287 molecule-visible 1 288 molecule-wireframe 0 289 polydata-edges 0 290 polydata-lighting 1 291 polydata-opacity 100 292 polydata-outline 0 293 polydata-palette BCGYR 294 polydata-visible 1 295 polydata-wireframe 0 265 glyphs-edges 0 266 glyphs-lighting 1 267 glyphs-opacity 100 268 glyphs-outline 0 269 glyphs-palette BCGYR 270 glyphs-visible 1 271 glyphs-wireframe 0 272 legend 1 273 molecule-atoms-visible 1 274 molecule-atomscale 0.3 275 molecule-bonds-visible 1 276 molecule-bondscale 0.075 277 molecule-bondstyle "cylinder" 278 molecule-colorfield "element" 279 molecule-colormode "by_elements" 280 molecule-edges 0 281 molecule-labels 0 282 molecule-lighting 1 283 molecule-opacity 100 284 molecule-outline 0 285 molecule-palette elementDefault 286 molecule-quality 1.0 287 molecule-representation "Ball and Stick" 288 molecule-rscale "covalent" 289 molecule-visible 1 290 molecule-wireframe 0 291 polydata-edges 0 292 polydata-lighting 1 293 polydata-opacity 100 294 polydata-outline 0 295 polydata-palette BCGYR 296 polydata-visible 1 297 polydata-wireframe 0 296 298 }] 297 299 itk_component add view { … … 760 762 if { ![$itk_component(main) exists "Glyphs Settings"] } { 761 763 if { [catch { BuildGlyphsTab } errs ] != 0 } { 762 puts stderr "errs=$errs" 764 global errorInfo 765 puts stderr "errs=$errs\nerrorInfo=$errorInfo" 763 766 } 764 767 } … … 767 770 if { ![$itk_component(main) exists "Mesh Settings"] } { 768 771 if { [catch { BuildPolydataTab } errs ] != 0 } { 769 puts stderr "errs=$errs" 772 global errorInfo 773 puts stderr "errs=$errs\nerrorInfo=$errorInfo" 770 774 } 771 775 } … … 1031 1035 } 1032 1036 1033 set _limits(zmin) ""1034 set _limits(zmax) ""1035 1037 set _first "" 1036 1038 SendCmd "dataset visible 0" 1037 1039 set count 0 1040 eval scale $_dlist 1038 1041 foreach dataobj [get -objects] { 1039 1042 if { [info exists _obj2ovride($dataobj-raise)] && $_first == "" } { … … 1578 1581 ChangeColormap $dataobj $comp $palette 1579 1582 if { $palette == "elementDefault" } { 1580 SendCmd "molecule colormode by_elements element $dataset"1583 SendCmd [list molecule colormode by_elements element $dataset] 1581 1584 } else { 1582 1585 # FIXME: Set the chosen scalar field name here 1583 SendCmd "molecule colormode scalar {} $dataset" 1586 set _settings(molecule-colormode) scalar 1587 set _settings(molecule-colorfield) "" 1588 SendCmd [list molecule colormode $_settings(molecule-colormode) $_settings(molecule-colorfield) $dataset] 1584 1589 } 1585 1590 } … … 1870 1875 1871 1876 itcl::body Rappture::VtkViewer::limits { dataobj } { 1872 foreach c omp[$dataobj components] {1873 set tag $dataobj-$c omp1877 foreach cname [$dataobj components] { 1878 set tag $dataobj-$cname 1874 1879 if { ![info exists _limits($tag)] } { 1875 set data [$dataobj data $c omp]1880 set data [$dataobj data $cname] 1876 1881 if { $data == "" } { 1877 1882 continue … … 1884 1889 set reader [vtkDataSetReader $tag-xvtkDataSetReader] 1885 1890 $reader SetFileName $tmpfile 1886 set debug 0 1887 if {$debug} { 1888 # Only needed for debug output below 1889 $reader ReadAllNormalsOn 1890 $reader ReadAllTCoordsOn 1891 $reader ReadAllScalarsOn 1892 $reader ReadAllColorScalarsOn 1893 $reader ReadAllVectorsOn 1894 $reader ReadAllTensorsOn 1895 $reader ReadAllFieldsOn 1896 } 1891 $reader ReadAllNormalsOn 1892 $reader ReadAllTCoordsOn 1893 $reader ReadAllScalarsOn 1894 $reader ReadAllColorScalarsOn 1895 $reader ReadAllVectorsOn 1896 $reader ReadAllTensorsOn 1897 $reader ReadAllFieldsOn 1897 1898 $reader Update 1898 1899 file delete $tmpfile 1899 set output [$reader GetOutput]1900 if { $ output == "" } {1900 set dataset [$reader GetOutput] 1901 if { $dataset == "" } { 1901 1902 # Invalid VTK file -- loader failed to parse 1902 1903 continue 1903 1904 } 1904 set _limits($tag) [$output GetBounds] 1905 if {$debug} { 1906 puts stderr "\#scalars=[$reader GetNumberOfScalarsInFile]" 1907 puts stderr "\#vectors=[$reader GetNumberOfVectorsInFile]" 1908 puts stderr "\#tensors=[$reader GetNumberOfTensorsInFile]" 1909 puts stderr "\#normals=[$reader GetNumberOfNormalsInFile]" 1910 puts stderr "\#tcoords=[$reader GetNumberOfTCoordsInFile]" 1911 puts stderr "\#fielddata=[$reader GetNumberOfFieldDataInFile]" 1912 puts stderr "fielddataname=[$reader GetFieldDataNameInFile 0]" 1913 set pointData [$output GetPointData] 1914 if { $pointData != ""} { 1915 puts stderr "point \#arrays=[$pointData GetNumberOfArrays]" 1916 puts stderr "point \#components=[$pointData GetNumberOfComponents]" 1917 puts stderr "point \#tuples=[$pointData GetNumberOfTuples]" 1918 puts stderr "point scalars=[$pointData GetScalars]" 1919 puts stderr "point vectors=[$pointData GetVectors]" 1920 } 1921 set cellData [$output GetCellData] 1922 if { $cellData != ""} { 1923 puts stderr "cell \#arrays=[$cellData GetNumberOfArrays]" 1924 puts stderr "cell \#components=[$cellData GetNumberOfComponents]" 1925 puts stderr "cell \#tuples=[$cellData GetNumberOfTuples]" 1926 puts stderr "cell scalars=[$cellData GetScalars]" 1927 puts stderr "cell vectors=[$cellData GetVectors]" 1928 } 1929 set fieldData [$output GetFieldData] 1930 if { $fieldData != ""} { 1931 puts stderr "field \#arrays=[$fieldData GetNumberOfArrays]" 1932 puts stderr "field \#components=[$fieldData GetNumberOfComponents]" 1933 puts stderr "field \#tuples=[$fieldData GetNumberOfTuples]" 1934 } 1935 } 1936 rename $output "" 1905 set _limits($tag) [$dataset GetBounds] 1906 set dataAttrs [$dataset GetPointData] 1907 if { $dataAttrs != ""} { 1908 set numArrays [$dataAttrs GetNumberOfArrays] 1909 for {set i 0} {$i < $numArrays} {incr i} { 1910 set array [$dataAttrs GetArray $i] 1911 set fname [$dataAttrs GetArrayName $i] 1912 foreach {min max} [$array GetRange -1] break 1913 lappend _fieldlimits($tag) $fname [list $min $max] 1914 set _fieldComponents($tag-$fname) [$array GetNumberOfComponents] 1915 } 1916 } 1917 set dataAttrs [$dataset GetCellData] 1918 if { $dataAttrs != ""} { 1919 set numArrays [$dataAttrs GetNumberOfArrays] 1920 for {set i 0} {$i < $numArrays} {incr i} { 1921 set array [$dataAttrs GetArray $i] 1922 set fname [$dataAttrs GetArrayName $i] 1923 foreach {min max} [$array GetRange -1] break 1924 lappend _fieldlimits($tag) $fname [list $min $max] 1925 set _fieldComponents($tag-$fname) [$array GetNumberOfComponents] 1926 } 1927 } 1928 set dataAttrs [$dataset GetFieldData] 1929 if { $dataAttrs != ""} { 1930 set numArrays [$dataAttrs GetNumberOfArrays] 1931 for {set i 0} {$i < $numArrays} {incr i} { 1932 set array [$dataAttrs GetArray $i] 1933 set fname [$dataAttrs GetArrayName $i] 1934 foreach {min max} [$array GetRange -1] break 1935 lappend _fieldlimits($tag) $fname [list $min $max] 1936 set _fieldComponents($tag-$fname) [$array GetNumberOfComponents] 1937 } 1938 } 1939 rename $dataset "" 1937 1940 rename $reader "" 1938 1941 } 1939 foreach { 1942 foreach {xMin xMax yMin yMax zMin zMax} $_limits($tag) break 1940 1943 if {![info exists limits(xmin)] || $limits(xmin) > $xMin} { 1941 1944 set limits(xmin) $xMin … … 2688 2691 -atomscale 0.3 2689 2692 -atomsvisible 1 2693 -bondconstcolor white 2694 -bondcolormode "by_elements" 2690 2695 -bondscale 0.075 2691 2696 -bondstyle "cylinder" 2692 2697 -bondsvisible 1 2693 2698 -color "elementDefault" 2699 -colormode "by_elements" 2700 -colorfield "element" 2701 -constcolor white 2694 2702 -edgecolor black 2695 2703 -edges 0 … … 2799 2807 SendCmd "molecule labels $settings(-labels) $tag" 2800 2808 set _settings(molecule-labels) $settings(-labels) 2809 SendCmd "molecule bcmode $settings(-bondcolormode) $tag" 2810 SendCmd "molecule bcolor [Color2RGB $settings(-bondconstcolor)] $tag" 2811 SendCmd "molecule color [Color2RGB $settings(-constcolor)] $tag" 2812 SendCmd "molecule colormap $settings(-color) $tag" 2813 set _settings(molecule-palette) $settings(-color) 2814 $itk_component(moleculepalette) value $settings(-color) 2815 SendCmd [list molecule colormode $settings(-colormode) $settings(-colorfield) $tag] 2816 set _settings(molecule-colormode) $settings(-colormode) 2817 set _settings(molecule-colorfield) $settings(-colorfield) 2801 2818 SendCmd "molecule linecolor [Color2RGB $settings(-edgecolor)] $tag" 2802 2819 SendCmd "molecule linewidth $settings(-linewidth) $tag"
Note: See TracChangeset
for help on using the changeset viewer.