View on GitHub

MooseViewer

Application demonstrating the use of vtkRenderingExternal module to render VTK objects in the VRUI context

Download this project as a .zip file Download this project as a tar.gz file

Welcome to MooseViewer

This application demonstrates use of the new vtkRenderingExternal module to visualize ExodusII files in the VRUI context.

For detailed information about the vtkRenderingExternal module, please refer to this blog post.

Supported Operating Systems

Prerequisites

NOTE: To build MooseViewer along with all its prerequisites, simply build the superbuild from MooseViewerSuperbuild

MooseViewer application requires the following software to be built and installed.

Clone MooseViewer source

The MooseViewer application can be built from source obtained using one of the download links on this page or using the commandline as follows:

$ git clone https://github.com/VruiVTK/MooseViewer.git

The above command creates a directory MooseViewer with the source code.

Configure Instructions

Configure the build using CMake.

Set the following CMake variables:

* VRUI_PKGCONFIG_DIR - Path to pkgconfig directory of your VRUI installation
* VTK_DIR - Path to the VTK build directory

Once all the required variables are set, press generate to generate the makefile.

Build Instructions

Build using the make tool.

$ make

Run MooseViewer

The build step will create an executable MooseViewer under the build directory that can be used to run the application. To get usage instructions for the application:

$ ./MooseViewer -help

To render an ExodusII data (.ex2) file, use the '-f' or '-fileName' argument.

$ ./MooseViewer -f can.ex2

Sample Data Files

Some sample ExodusII files are provided in the data directory.

Sample Configuration Files

A couple of sample configuration files are added to the config directory.
To use the sample files simply copy the files to the etc directory of your VRUI installation.
Make sure to backup your existing configuration files before copying the sample ones in.

The sample configuration files are tested to work with an OptiTrack tracker with a VRPN server of hostname OptiTrackServer. The server uses the Rigid Body Module to configure two rigid bodies:

The configuration files are merely the default configuration files for Vrui-3.1-002 with the required changes made to the 3dtv(VRDevices.cfg, Vrui.cfg) section.

To run the device daemon,

$ /bin/VRDeviceDaemon -rootSection 3dtv

To run the application,

$ ./MooseViewer -rootSection 3dtv

Screenshots

The following are some screenshots of the application that demonstrate its various aspects. We are using the can.ex2 dataset here (provided in the Sample Data directory.)

MainMenu

Notice that the application calculates the bounds of the dataset and draws an outline around it. The outline can be turned off in the Representation Menu.

Variables

This menu provides access to all the attributes in the ExodusII data file. Selecting the required variables here, ensures that the actual data does not contain unnecessary data arrays. This reduces rendering overhead.

Variables

Variables Menu

Color By Menu

This is a dynamically created sub-menu that updates as and when the user selects/deselects the variables from the Variables Menu. The user can choose which variable to color the dataset by.

Color By Menu

Color By Menu

Color Map

This sub-menu can be used to select a different color map for the dataset.

Color Map

Color Map Menu

Color Opacity Editor Dialog

This dialog allows editing the color and opacity functions for visualizing the dataset.

Color Opacity
Editor

Color Opacity Editor

Animation Dialog

This dialog allows animating through the various timesteps in the ExodusII dataset. The dialog also show information about how many timesteps are present in the dataset alongwith the current timestep and the time value.

Animation
Dialog

Animation Dialog

Representation Menu

Surface with edges representation

Surface with Edges Representation

Analysis Tools

The Analysis Tools are setup to work with the VRUI locator tool. To use one of the analysis tools, toggle the radio button next to it. Hit the button on the Wiimote (or the wand device being used) that you would like to assign the selected analysis tool to. Since, the button is not assigned to any tool right now, it will bring up the default Vrui Menu. Select the 6-DOF Locator. This assigns the selected analysis tool to the button pressed. From now, on this button can be used to invoke the analysis tool it is assigned to.

Analysis Tools

Analysis Tools Sub-menu

Rendering

Change the actor level opacity

Rendering

Rendering Dialog

Demo

The following is a demo video showing most aspects of the MooseViewer application.