About HOOPS Web Viewer

The HOOPS Web Viewer is a zero client JavaScript application for viewing and interrogating 3D engineering data in modern web browsers.

Key features

  • Interactive streaming - Data is streamed to the user’s machine while they are interacting with the model.

  • Mobile and touch support - Support for tablets and phones is provided out of the box.

  • Business logic integration - Drive model display and user experience using your own data.

  • User interface customization - User Interface is independent of the viewer and may be completely customized.

  • Custom operators - Create your own user experience by adding your own logic to respond to user input.

Code libraries

The core logic for the HOOPS Web Viewer is compiled into a WebAssembly module and can be accessed via Javascript. Alternatively, TypeScript definition files are provided in the /web_viewer/typescript directory that provide access to the HOOPS Web Viewer API via TypeScript.

In addition to WebAssembly, the asm.js engine is also supported, primarily as a fallback when WebAssembly isn’t available.

The files necessary for running the HOOPS Web Viewer in a browser are contained in the /web_viewer/src/js directory. Please note the following:

  • The file hoops_web_viewer.js contains the core functionality for the HOOPS Web Viewer, and has the following dependencies: engine-asmjs.js, engine-wasm.js, engine.wasm. These should be placed in the same directory as hoops_web_viewer.js.

  • For faster startup time and to prevent a warning in the console, ensure that your HTTP server serves .wasm files with the application/wasm MIME type. This may require additional configuration on your server.

  • A file called hoops_web_viewer_monolithic.js is also available in /web_viewer/src/js. This file is a standalone library and does not require additional files or dependencies to run the WebViewer, but it only contains the asm.js engine and isn’t compatible with WebAssembly.