The HOOPS 3D Application Framework (HOOPS/3dAF) consists of an integrated
suite of components which enable the rapid development of high-performance design, visualization, and engineering applications. HOOPS/3dAF
maintains platform independence within each component, providing
cross-platform solutions on Windows, UNIX, LINUX and Mac OS X.
The HOOPS 3D Application Framework consists of the following
components:
-
HOOPS/3dGS - HOOPS 3D Graphics System
HOOPS/3dGS provides developers with a high-level, object oriented scene-graph
API that encapsulates a graphics database and optimized algorithms for the storage, creation, editing, manipulation, querying,
rendering, and printing of 3D and 2D graphical information.
-
HOOPS/Stream - The HOOPS Stream Toolkit
HOOPS/Stream is a FileIO toolkit for the HSF file format. It allows developers to import/export customized HSF files or data streams to/from the HOOPS/3dGS
scene graph, or proprietary and third-party graphics systems.
-
HOOPS/MVO- the Model/View/Operator Class Library
HOOPS/MVO is a set of platform and GUI independent
C++ classes that implement much of the common functionality found in CAD/CAM/CAE
applications such as model viewing, creation, annotation, manipulation, selection and hardcopy. The classes can be directly embedded into an application and
the open source code can be easily extended to build customized application-specific logic.
HOOPS/MVO has been designed to cleanly integrate with the various HOOPS/3dAF
components.
-
HOOPS/GUI - Graphical User Interface Modules
HOOPS/GUI modules encapsulate the work needed to connect the HOOPS/3dAF to
several different Graphical User Interface (GUI) toolkits. HOOPS/GUI
modules exist for:
- MFC - Microsoft Foundation Classes
- .Net Windows Forms - GUI toolkit included with the Microsoft .Net Framework (includes support for C#.Net and VB.Net)
- ATL - ActiveX Control Classes on Windows
- QT - cross-platform GUI toolkit
- Java/Swing - GUI toolkit included with the Java Foundation Classes (JFC)
- Win32 - Microsoft Windows API
-
HOOPS/GM - Geometric Modeler Bridges
HOOPS/GM
connects the various Modelling Kernels to the HOOPS 3D Graphics System. HOOPS/GM
saves developers the task of designing and implementing the graphical output
interfaces that these sophisticated modeling packages require.
-
HOOPS/Net - Application Client/Server Toolkit
HOOPS/Net is a multi-platform server and client-side library that allows developers to implement a simple, yet powerful message passing scheme between networked clients. The Server provides extensive session management control including late join support and session/user password control.
-
The HOOPS/3dAF Reference Applications - Geometric-Kernel
& Non-Geometric-Kernel-Based Cross Platform Applications
The HOOPS/3dAF
Reference Applications are built with the various components of the
HOOPS 3D Application Framework and demonstrate its functionality across
the Windows, Mac OS X, UNIX and LINUX platforms. In addition, they provide
a model for the base architecture of new applications. Readable source code
for the Reference Applications is provided as part of the development system
and developers are free to use any part of the code within their application.
The diagram below illustrates how these components are connected
to each other and how user generated events flow from the GUI Toolkit to the
HOOPS/3dAF.

The HOOPS 3D Application Framework. User-generated events
are collected by a GUI Tool's event queue. The HOOPS/GUI integration module
monitors the event queue and dispatches appropriate events to either the HOOPS/MVO
objects, HOOPS/Net client objects, or directly to HOOPS/3dGS. The HOOPS/MVO
application objects in turn engage the API of either the geometric modeler,
HOOPS/GMB, HOOPS/Net, or HOOPS/3dGS itself to interact with the data stored
in each component.