./features/event filter
Download Features Source code Forum Ask for support

Event filter

Analysis Situs may execute long processes, such as batch processing jobs. If your long operation is running, you may wish to deactivate specific UI controls to prevent users from issuing input events when the application is unable to process them. Analysis Situs provides an "event filter" for this purpose, which is implemented in the class asiUI_InputEventFilter.

The conventional usage of input event filtering is to prevent a viewer or editor from affecting persistent data. It is frequently a problem when an OCAF transaction or a visualization pipeline begins while your program is doing something else. In such cases, turning the app to a "read-only" mode may be a solution, as it will remain (mostly) responsive but will not allow you to alter any data.

To test how input filtering works, you can give a try to freeze-viewer and unfreeze-viewer Tcl commands. These commands block and unblock the majority of input events for the main 3D viewer of Analysis Situs. For example, if you employ Analysis Situs UI in unit testing environment, you may wish to visualize shapes while not letting the user to pick any elements on them.