Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.6 KiB

2 years ago
package require -exact vtkgraphics 5.0
package require -exact vtkimaging 5.0
catch {
unset __tk_error
}
namespace eval ::vtk::rendering {
proc SetWin32ExitCallback {} {
# Set the default exit method of vtkWin32RenderWindowInteractor to
# call the Tcl 'exit' command
if {[info commands vtkWin32RenderWindowInteractor] != ""} {
if {[catch {
# this exit method is called when the user exists interactively
# (such as pressing 'e' or 'q'). An extra reference is added to
# the callback command used to process it by the
# vtkSubjectHelper::InvokeEvent method. If the callback exits the
# application immediately in its Execute() method, this reference
# is never removed and the object leaks. Using 'after idle' allows
# the stack to unwind far enough. This is similar to Win32
# PostQuitMessage() logic.
vtkWin32RenderWindowInteractor __temp_vtkwin32iren__
__temp_vtkwin32iren__ SetClassExitMethod {after idle exit}
__temp_vtkwin32iren__ Delete
} errormsg]} {
puts $errormsg
}
}
}
}
if {[info commands ::vtk::init::require_package] != ""} {
if {![info exists __tk_error] && \
[::vtk::init::require_package vtkRenderingTCL 5.0]} {
::vtk::rendering::SetWin32ExitCallback
package provide vtkrendering 5.0
}
} else {
if {![info exists __tk_error] && \
([info commands vtkAxisActor2D] != "" || \
[::vtk::load_component vtkRenderingTCL] == "")} {
::vtk::rendering::SetWin32ExitCallback
package provide vtkrendering 5.0
}
}