Can I make a mirror?
Lisa Sobierajski Avila
lisa.avila at kitware.com
Fri Dec 3 16:42:32 EST 1999
<x-flowed>Tom,
The lighting calculations in VTK are performed by OpenGL using local
illumination only. The specular highlight is simply a reflection of the
light source - not a reflection of the scene. You can use the RIB exporter
to bring your scene into renderman if you want global illumination.
Lisa
At 02:33 PM 12/3/99 -0600, Tom G. Smith wrote:
>You'll see in the attached Tcl script, I'm displaying a Moebius Strip,
>and I'm trying to implement a refective mirror underneath it that
>remains oriented to the camera, and shows the reflection of the
>underside of the Moebius Strip as the camera rotates around it.
>But regardless of what I do with the Specular, Ambient, and Diffuse
>parameters, nothing shows up in the mirror.
>
>A second problem I'm having is, the mirror seems to wobble as I
>move the camera. I suspect this is because I'm using the wrong
>coordinate system to orient the mirror, but if anybody has a suggestion,
>it'd be appreciated.
>
>sym.tcl:
>............................................................................
>set Pi [expr acos(-1)] ;# Approx. 3.14159265359
>set Degrees [expr 180/$Pi] ;# Conversion factor, degrees to radians.
>
>source startup.tcl ;# Initialize vtk.
>source colors.tcl ;# Define colors
>
># Create triangle strip for Moebius. --------------------------------
>set stripwidth 1
>set stripradius [expr 1*$stripwidth]
> # Radius of circle about which center is rotated.
>set zc [expr $stripwidth/2.0];# z-coordinate of center of strip
>set pointcount [expr 1 << 9] ;# Evaluates to 512. Same as 2**9 in perl.
>set xscale 1;# scale factor to elongate graphic
>set yscale 2;# scale factor to elongate graphic
>set zscale 1;# scale factor to elongate strip size.
>vtkPoints points
>vtkCellArray strip
>strip InsertNextCell [expr $pointcount+2];#number of points
>set n 0
>while {$n <= $pointcount+1} {
> if [expr !($n % 2)] {
> set angle [expr 2*$Pi*$n/$pointcount]
> # angle around center of mobius.
> set rotate [expr $angle/2]
> # angle of strip rotation.
> set xc [expr cos($angle)*$stripradius]
> # x-coordinate of center of strip.
> set yc [expr sin($angle)*$stripradius]
> # y-coordinate of center of strip.
> set ac [expr $angle+$Pi]
> if {$ac > 2*$Pi} {
> set ac [expr $ac - 2*$Pi]
> }
> # angle with respect to center of strip of
> # line across strip, intersecting with mobius center,
> # projected on x-y plane.
> set r [expr abs(sin($rotate)*$zc)]
> # length of strip projected onto x-y plane.
> set sign 1
> } else {
> set sign -1
> }
> set x [expr ($xc+$sign*cos($ac)*$r)*$xscale]
> set y [expr ($yc+$sign*sin($ac)*$r)*$yscale]
> set z [expr ($zc+$sign*cos($rotate)*$zc)*$zscale]
> points InsertPoint $n $x $y $z
> strip InsertCellPoint $n
> incr n
>}
>vtkPolyData profile
> profile SetPoints points
> profile SetStrips strip
>vtkPolyDataMapper map
> map SetInput profile
>vtkActor mobius
> mobius SetMapper map
> eval {[mobius GetProperty] SetColor } $colors(steel_blue)
> [mobius GetProperty] BackfaceCullingOff
>ren1 AddActor mobius
>ren1 SetBackground 1 1 1 ;# Sets background to white.
>
># Add text. --------------------------------------------------
>vtkTextMapper textMapper
> textMapper SetInput "Modeling Symposium 2000"
> textMapper SetFontSize 18
> textMapper SetFontFamilyToArial
> textMapper BoldOn
> textMapper ItalicOn
> textMapper ShadowOn
>vtkActor2D textActor
> textActor SetMapper textMapper
> textActor SetPosition 45 150
> eval {[textActor GetProperty] SetColor } $colors(chocolate)
>ren1 AddActor2D textActor
>
># Define the mirror. --------------------------------------------------
>vtkPoints planepoints
>vtkCellArray planepoly
>planepoly InsertNextCell 4; # First thing in a new cell is the point count.
>set v {{-1 -1 1} {1 -1 1} {1 1 -1} {-1 1 -1}}
>set f 2.5
>set i 0
>while {$i < 4} {
> set t [lindex $v $i]
> set x [expr [lindex $t 0]*$f]
> set y [expr ([lindex $t 1]-1.5)*$f]
> set z [expr [lindex $t 2]*$f]
> planepoints InsertPoint $i $x $y $z
> planepoly InsertCellPoint $i; # Add point id.
> incr i
>}
>vtkPolyData plane
>plane SetPoints planepoints; planepoints Delete
>plane SetPolys planepoly; planepoly Delete
>vtkPolyDataMapper planeMapper
> planeMapper SetInput plane
>vtkFollower planeActor
> planeActor SetMapper planeMapper
> planeActor SetCamera [ren1 GetActiveCamera]
> eval {[planeActor GetProperty] SetColor} $colors(grey)
> [planeActor GetProperty] SetOpacity 1
> [planeActor GetProperty] SetSpecularPower 200
> [planeActor GetProperty] SetSpecular .5
> [planeActor GetProperty] SetAmbient .5
> [planeActor GetProperty] SetDiffuse .5
>ren1 AddActor planeActor ;# assign our actor to the renderer
>
>source go.tcl ;# Start the Interactor and display the image.
>
>startup.tcl:
>............................................................................
>#!/usr/bin/tcl
>#-----------------------------------------------------------------------
># Description: This Tcl script can be sourced to get the typical
># vtk initialization.
>#-----------------------------------------------------------------------
># Changelog:
># 991007 Smitty created.
>#-----------------------------------------------------------------------
>catch {load vtktcl} ;# Load the shared vtk libraries.
>source /opt/vtk/examplesTcl/vtkInt.tcl ;# Get the interactor ui.
>vtkRenderer ren1
> # vtkRenderer provides an abstract specification for renderers. A
> # renderer is an object that controls the rendering process for
> # objects. Rendering is the process of converting geometry,
> # a specification for lights, and a camera view into an
> # image. vtkRenderer also performs coordinate transformation
> # between world coordinates, view coordinates (the computer
> # graphics rendering coordinate system), and display coordinates
> # (the actual screen coordinates on the display device).
>vtkRenderWindow renWin
> # vtkRenderWindow is an abstract object to specify the behavior
> # of a rendering window. A rendering window is a window
> # in a graphical user interface where renderers draw their
> # images. Methods are provided to synchronize the rendering
> # process, set window size, and control double buffering.
> renWin AddRenderer ren1
> # Associate renderer ren1 with renWin.
>vtkRenderWindowInteractor iren
> # vtkRenderWindowInteractor is a convenience object that provides
> # event bindings to common graphics functions. Here's a brief
> # summary. See http://www.kitware.com/vtkhtml/vtkdata/manhtml/
> # vtkRenderWindowInteractor.html for more detail:
> # Mouse bindings:
> # camera: Button 1 - rotate
> # Button 2 - pan
> # Button 3 - zoom
> # ctrl-Button 1 - spin
> # actor: Button 1 - rotate
> # Button 2 - pan
> # Button 3 - uniform scale
> # ctrl-Button 1 - spin
> # ctrl-Button 2 - dolly.
> # Keyboard bindings (upper or lower case):
> # j - joystick like mouse interactions
> # t - trackball like mouse interactions
> # o - object/actor interaction
> # c - camera interaction
> # r - reset camera view
> # w - turn all actors wireframe
> # s - turn all actors surface
> # u - execute user defined function
> # p - pick actor under mouse pointer (if pickable)
> # 3 - toggle in/out of 3D mode (if supported by renderer)
> # e - exit
> # q - exit
> iren SetRenderWindow renWin
> # Associate renderwindow renWin with interactor iren.
>
>
>colors.tcl:
>............................................................................
>#-----------------------------------------------------------------------
># Description: This Tcl script can be sourced to build an array of
># RGB color values. It's a copy of /opt/vtk/examplesTcl/colors.tcl,
># with a lot of changes.
>#-----------------------------------------------------------------------
># Changelog:
># 991020 Smitty created.
>#-----------------------------------------------------------------------
>
># Whites
>set colors(antique_white) "0.9804 0.9216 0.8431"
>set colors(azure) "0.9412 1.0000 1.0000"
>set colors(bisque) "1.0000 0.8941 0.7686"
>set colors(blanched_almond) "1.0000 0.9216 0.8039"
>set colors(cornsilk) "1.0000 0.9725 0.8627"
>set colors(eggshell) "0.9900 0.9000 0.7900"
>set colors(floral_white) "1.0000 0.9804 0.9412"
>set colors(gainsboro) "0.8627 0.8627 0.8627"
>set colors(ghost_white) "0.9725 0.9725 1.0000"
>set colors(honeydew) "0.9412 1.0000 0.9412"
>set colors(ivory) "1.0000 1.0000 0.9412"
>set colors(lavender) "0.9020 0.9020 0.9804"
>set colors(lavender_blush) "1.0000 0.9412 0.9608"
>set colors(lemon_chiffon) "1.0000 0.9804 0.8039"
>set colors(linen) "0.9804 0.9412 0.9020"
>set colors(mint_cream) "0.9608 1.0000 0.9804"
>set colors(misty_rose) "1.0000 0.8941 0.8824"
>set colors(moccasin) "1.0000 0.8941 0.7098"
>set colors(navajo_white) "1.0000 0.8706 0.6784"
>set colors(old_lace) "0.9922 0.9608 0.9020"
>set colors(papaya_whip) "1.0000 0.9373 0.8353"
>set colors(peach_puff) "1.0000 0.8549 0.7255"
>set colors(seashell) "1.0000 0.9608 0.9333"
>set colors(snow) "1.0000 0.9804 0.9804"
>set colors(thistle) "0.8471 0.7490 0.8471"
>set colors(titanium_white) "0.9900 1.0000 0.9400"
>set colors(wheat) "0.9608 0.8706 0.7020"
>set colors(white) "1.0000 1.0000 1.0000"
>set colors(white_smoke) "0.9608 0.9608 0.9608"
>set colors(zinc_white) "0.9900 0.9700 1.0000"
>
># Greys
>set colors(cold_grey) "0.5000 0.5400 0.5300"
>set colors(dim_grey) "0.4118 0.4118 0.4118"
>set colors(grey) "0.7529 0.7529 0.7529"
>set colors(light_grey) "0.8275 0.8275 0.8275"
>set colors(slate_grey) "0.4392 0.5020 0.5647"
>set colors(slate_grey_dark) "0.1843 0.3098 0.3098"
>set colors(slate_grey_light) "0.4667 0.5333 0.6000"
>set colors(warm_grey) "0.5000 0.5000 0.4100"
>
># Blacks
>set colors(black) "0.0000 0.0000 0.0000"
>set colors(ivory_black) "0.1600 0.1400 0.1300"
>set colors(lamp_black) "0.1800 0.2800 0.2300"
>
># Reds
>set colors(alizarin_crimson) "0.8900 0.1500 0.2100"
>set colors(brick) "0.6100 0.4000 0.1200"
>set colors(cadmium_red_deep) "0.8900 0.0900 0.0500"
>set colors(coral) "1.0000 0.4980 0.3137"
>set colors(coral_light) "0.9412 0.5020 0.5020"
>set colors(deep_pink) "1.0000 0.0784 0.5765"
>set colors(english_red) "0.8300 0.2400 0.1000"
>set colors(firebrick) "0.6980 0.1333 0.1333"
>set colors(geranium_lake) "0.8900 0.0700 0.1900"
>set colors(hot_pink) "1.0000 0.4118 0.7059"
>set colors(indian_red) "0.6900 0.0900 0.1200"
>set colors(light_salmon) "1.0000 0.6275 0.4784"
>set colors(madder_lake_deep) "0.8900 0.1800 0.1900"
>set colors(maroon) "0.6902 0.1882 0.3765"
>set colors(pink) "1.0000 0.7529 0.7961"
>set colors(pink_light) "1.0000 0.7137 0.7569"
>set colors(raspberry) "0.5300 0.1500 0.3400"
>set colors(red) "1.0000 0.0000 0.0000"
>set colors(rose_madder) "0.8900 0.2100 0.2200"
>set colors(salmon) "0.9804 0.5020 0.4471"
>set colors(tomato) "1.0000 0.3882 0.2784"
>set colors(venetian_red) "0.8300 0.1000 0.1200"
>
># Browns
>set colors(beige) "0.6400 0.5800 0.5000"
>set colors(brown) "0.5000 0.1647 0.1647"
>set colors(brown_madder) "0.8600 0.1600 0.1600"
>set colors(brown_ochre) "0.5300 0.2600 0.1200"
>set colors(burlywood) "0.8706 0.7216 0.5294"
>set colors(burnt_sienna) "0.5400 0.2100 0.0600"
>set colors(burnt_umber) "0.5400 0.2000 0.1400"
>set colors(chocolate) "0.8235 0.4118 0.1176"
>set colors(deep_ochre) "0.4500 0.2400 0.1000"
>set colors(flesh) "1.0000 0.4900 0.2500"
>set colors(flesh_ochre) "1.0000 0.3400 0.1300"
>set colors(gold_ochre) "0.7800 0.4700 0.1500"
>set colors(greenish_umber) "1.0000 0.2400 0.0500"
>set colors(khaki) "0.9412 0.9020 0.5490"
>set colors(khaki_dark) "0.7412 0.7176 0.4196"
>set colors(light_beige) "0.9608 0.9608 0.8627"
>set colors(peru) "0.8039 0.5216 0.2471"
>set colors(rosy_brown) "0.7373 0.5608 0.5608"
>set colors(raw_sienna) "0.7800 0.3800 0.0800"
>set colors(raw_umber) "0.4500 0.2900 0.0700"
>set colors(sepia) "0.3700 0.1500 0.0700"
>set colors(sienna) "0.6275 0.3216 0.1765"
>set colors(saddle_brown) "0.5451 0.2706 0.0745"
>set colors(sandy_brown) "0.9569 0.6431 0.3765"
>set colors(tan) "0.8235 0.7059 0.5490"
>set colors(van_dyke_brown) "0.3700 0.1500 0.0200"
>
># Oranges
>set colors(cadmium_orange) "1.0000 0.3800 0.0100"
>set colors(cadmium_red_light) "1.0000 0.0100 0.0500"
>set colors(carrot) "0.9300 0.5700 0.1300"
>set colors(dark_orange) "1.0000 0.5490 0.0000"
>set colors(mars_orange) "0.5900 0.2700 0.0800"
>set colors(mars_yellow) "0.8900 0.4400 0.1000"
>set colors(orange) "1.0000 0.5000 0.0000"
>set colors(orange_red) "1.0000 0.2706 0.0000"
>set colors(yellow_ochre) "0.8900 0.5100 0.0900"
>
># Yellows
>set colors(aureoline_yellow) "1.0000 0.6600 0.1400"
>set colors(banana) "0.8900 0.8100 0.3400"
>set colors(cadmium_lemon) "1.0000 0.8900 0.0100"
>set colors(cadmium_yellow) "1.0000 0.6000 0.0700"
>set colors(cadmium_yellow_light) "1.0000 0.6900 0.0600"
>set colors(gold) "1.0000 0.8431 0.0000"
>set colors(goldenrod) "0.8549 0.6471 0.1255"
>set colors(goldenrod_dark) "0.7216 0.5255 0.0431"
>set colors(goldenrod_light) "0.9804 0.9804 0.8235"
>set colors(goldenrod_pale) "0.9333 0.9098 0.6667"
>set colors(light_goldenrod) "0.9333 0.8667 0.5098"
>set colors(melon) "0.8900 0.6600 0.4100"
>set colors(naples_yellow_deep) "1.0000 0.6600 0.0700"
>set colors(yellow) "1.0000 1.0000 0.0000"
>set colors(yellow_light) "1.0000 1.0000 0.8784"
>
># Greens
>set colors(chartreuse) "0.4980 1.0000 0.0000"
>set colors(chrome_oxide_green) "0.4000 0.5000 0.0800"
>set colors(cinnabar_green) "0.3800 0.7000 0.1600"
>set colors(cobalt_green) "0.2400 0.5700 0.2500"
>set colors(emerald_green) "0.0000 0.7900 0.3400"
>set colors(forest_green) "0.1333 0.5451 0.1333"
>set colors(green) "0.0000 1.0000 0.0000"
>set colors(green_dark) "0.0000 0.3922 0.0000"
>set colors(green_pale) "0.5961 0.9843 0.5961"
>set colors(green_yellow) "0.6784 1.0000 0.1843"
>set colors(lawn_green) "0.4863 0.9882 0.0000"
>set colors(lime_green) "0.1961 0.8039 0.1961"
>set colors(mint) "0.7400 0.9900 0.7900"
>set colors(olive) "0.2300 0.3700 0.1700"
>set colors(olive_drab) "0.4196 0.5569 0.1373"
>set colors(olive_green_dark) "0.3333 0.4196 0.1843"
>set colors(permanent_green) "0.0400 0.7900 0.1700"
>set colors(sap_green) "0.1900 0.5000 0.0800"
>set colors(sea_green) "0.1804 0.5451 0.3412"
>set colors(sea_green_dark) "0.5608 0.7373 0.5608"
>set colors(sea_green_medium) "0.2353 0.7020 0.4431"
>set colors(sea_green_light) "0.1255 0.6980 0.6667"
>set colors(spring_green) "0.0000 1.0000 0.4980"
>set colors(spring_green_medium) "0.0000 0.9804 0.6039"
>set colors(terre_verte) "0.2200 0.3700 0.0600"
>set colors(viridian_light) "0.4300 1.0000 0.4400"
>set colors(yellow_green) "0.6039 0.8039 0.1961"
>
># Cyans
>set colors(aquamarine) "0.4980 1.0000 0.8314"
>set colors(aquamarine_medium) "0.4000 0.8039 0.6667"
>set colors(cyan) "0.0000 1.0000 1.0000"
>set colors(cyan_white) "0.8784 1.0000 1.0000"
>set colors(turquoise) "0.2510 0.8784 0.8157"
>set colors(turquoise_dark) "0.0000 0.8078 0.8196"
>set colors(turquoise_medium) "0.2824 0.8196 0.8000"
>set colors(turquoise_pale) "0.6863 0.9333 0.9333"
>
># Blues
>set colors(alice_blue) "0.9412 0.9725 1.0000"
>set colors(blue) "0.0000 0.0000 1.0000"
>set colors(blue_light) "0.6784 0.8471 0.9020"
>set colors(blue_medium) "0.0000 0.0000 0.8039"
>set colors(cadet) "0.3725 0.6196 0.6275"
>set colors(cobalt) "0.2400 0.3500 0.6700"
>set colors(cornflower) "0.3922 0.5843 0.9294"
>set colors(cerulean) "0.0200 0.7200 0.8000"
>set colors(dodger_blue) "0.1176 0.5647 1.0000"
>set colors(indigo) "0.0300 0.1800 0.3300"
>set colors(manganese_blue) "0.0100 0.6600 0.6200"
>set colors(midnight_blue) "0.0980 0.0980 0.4392"
>set colors(navy) "0.0000 0.0000 0.5020"
>set colors(peacock) "0.2000 0.6300 0.7900"
>set colors(powder_blue) "0.6902 0.8784 0.9020"
>set colors(royal_blue) "0.2549 0.4118 0.8824"
>set colors(slate_blue) "0.4157 0.3529 0.8039"
>set colors(slate_blue_dark) "0.2824 0.2392 0.5451"
>set colors(slate_blue_light) "0.5176 0.4392 1.0000"
>set colors(slate_blue_medium) "0.4824 0.4078 0.9333"
>set colors(sky_blue) "0.5294 0.8078 0.9216"
>set colors(sky_blue_deep) "0.0000 0.7490 1.0000"
>set colors(sky_blue_light) "0.5294 0.8078 0.9804"
>set colors(steel_blue) "0.2745 0.5098 0.7059"
>set colors(steel_blue_light) "0.6902 0.7686 0.8706"
>set colors(turquoise_blue) "0.0000 0.7800 0.5500"
>set colors(ultramarine) "0.0700 0.0400 0.5600"
>
># Magentas
>set colors(blue_violet) "0.5412 0.1686 0.8863"
>set colors(cobalt_violet_deep) "0.5700 0.1300 0.6200"
>set colors(magenta) "1.0000 0.0000 1.0000"
>set colors(orchid) "0.8549 0.4392 0.8392"
>set colors(orchid_dark) "0.6000 0.1961 0.8000"
>set colors(orchid_medium) "0.7294 0.3333 0.8275"
>set colors(permanent_red_violet) "0.8600 0.1500 0.2700"
>set colors(plum) "0.8667 0.6275 0.8667"
>set colors(purple) "0.6275 0.1255 0.9412"
>set colors(purple_medium) "0.5765 0.4392 0.8588"
>set colors(ultramarine_violet) "0.3600 0.1400 0.4300"
>set colors(violet) "0.5600 0.3700 0.6000"
>set colors(violet_dark) "0.5804 0.0000 0.8275"
>set colors(violet_red) "0.8157 0.1255 0.5647"
>set colors(violet_red_medium) "0.7804 0.0824 0.5216"
>set colors(violet_red_pale) "0.8588 0.4392 0.5765"
>
>proc showcolors {} {
>#------------------------------------------------------------------
># Called to display all the possible color names.
>#------------------------------------------------------------------
> global colors
>
> foreach key [lsort [array names colors]] {
> set value $colors($key)
> puts "$key=$value"
> }
>} ;# End showcolors.
>
>proc tablecolors {tablename colornames {count 0}} {
>#------------------------------------------------------------------
># Called to build a vtkLookupTable object based on a list of
># color names. If count is greater than the number of colors in
># colornames, the table will be built with $count entries and the
># colors in colornames will be cycled to fill out the table.
>#------------------------------------------------------------------
> global colors
>
> if {$count < 1} { set count [llength $colornames]; }
> upvar $tablename lut
> vtkLookupTable lut
> lut SetNumberOfColors $count
> # Specify the number of values (i.e., colors) in the lookup
> # table. This method simply allocates memory and prepares the
> # table for use with SetTableValue(). It differs from Build()
> # method in that the allocated memory is not initialized
> # according to HSVA ramps.
> lut SetTableRange 0 [expr $count - 1]
> # Declared as "void SetTableRange(float r[2]);" in
> # vtkLookupTable.h. I found source for it in
> # vtkLookupTable.cxx that looks like this, in part:
> # void vtkLookupTable::SetTableRange(float min, float max)
> # { this->TableRange[0] = min; this->TableRange[1] = max; }
> lut Build
> # Build is a virtual function inherited from
> vtkScalarsToColors
> # class, where it's declared as "virtual void Build() {};".
> # The actual source for it is in vtkLookupTable.cxx.
> # Using pre-established (perhaps default) values for
> # HueRange, SaturationRange, ValueRange, and AlphaRange,
> # it builds the specified set of colors (see
> SetNumberOfColors
> # and SetTableRange above).
> set ix 0; # Color table index.
> set jx 0; # Color name index.
> while {$ix < $count} {
> set name [lindex $colornames $jx]
> incr jx
> if {$jx == [llength $colornames]} { set jx 0; }
> if {![info exists colors($name)]} {
> puts "ERROR: Color $name is not defined."
> exit 1
> }
> set cmd "lut SetTableValue $ix $colors($name) 1"
> eval $cmd
> # SetTableValue expects 5 arguments:
> # 1. The index (relative 0) of the colortable
> entry
> # to be set.
> # 2. The red component of the RGB value.
> # A number from 0 to 1.
> # 3. The green component of the RGB value.
> # A number from 0 to 1.
> # 4. The blue component of the RGB value.
> # A number from 0 to 1.
> # 5. The alpha, or transparency, component.
> # A number from 0 to 1, 1 being totally opaque.
> incr ix
> }
>} ;# End tablecolors.
>
>go.tcl:
>............................................................................
>#!/usr/bin/tcl
>#-----------------------------------------------------------------------
># Description: This Tcl script can be sourced to get the typical
># vtk code to start the interactor, and to display the final image.
>#-----------------------------------------------------------------------
># Changelog:
># 991013 Smitty created.
>#-----------------------------------------------------------------------
>iren SetUserMethod {wm deiconify .vtkInteract}; # Enable user interactor.
>iren Initialize; # render the image
>wm withdraw .; # prevent tk window from showing up, then start the event
>loop.
>
>
>
>-----------------------------------------------------------------------------
>This is the private VTK discussion list. Please keep messages on-topic.
>Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
>To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
><majordomo at gsao.med.ge.com>. For help, send message body containing
>"info vtkusers" to the same address. Live long and prosper.
>-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
This is the private VTK discussion list. Please keep messages on-topic.
Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at gsao.med.ge.com>. For help, send message body containing
"info vtkusers" to the same address. Live long and prosper.
-----------------------------------------------------------------------------
</x-flowed>
More information about the vtkusers
mailing list