• Technical Overview
  • Programming Guide
  • Reference Manual
  • HOOPS Visualize
TechSoft3d

HOOPS/OOC Technical Overview

1.0 Introduction

The HOOPS/OOC module is an out-of-core system that can render large amounts of data in the HOOPS graphical system. This system has been designed to handle point cloud datasets. Point cloud datasets are usually created by a 3D scanner. This tool measures a large number of points on the surface of a target object. Then, it outputs a datafile that represents the visible surface of the object. As a result, a single point cloud file can contain millions to billions of points depending on the complexity of the model it represents.

HOOPS/OOC takes an its input an ASCII point cloud file. In the first stage, the input is loaded into a preprocessor which restructures and compresses the raw data so that it can be optimally rendered in the graphics system. The result is an OOC file, a special purpose HSF file, as well as a directory of data node files. This processed data is generally a third of the size of the original raw input. The OOC file can be loaded and rendered in the HOOPS graphics system.

OOCHighLevelWorkflow.png
Figure 1.0a shows the HOOPS/OOC Workflow


2.0 The Architecture

HOOPS/OOC consist of two main parts: 1) preprocessing and 2) loading and rendering. In the preprocessing stage, point cloud data must be loaded into HOOPS/OOC where it can be analyzed. Here, the proprocessing mechanism performs analysis and sorts the data spatially. The result of the processing is a special purpose HSF file called an OOC file (<name>.ooc). The OOC file is an index file that contains a spatial description of the point cloud data in the form of a segment tree. It does not contain any specific data points. The data is contained in node files (*.node). They are inside a directory which has the same root name as the OOC file.

OOCHLPreprocess.png
Figure 2.0a shows a diagram of the preprocessing of point cloud data.

Once the point cloud data has been streamlined into the HOOPS/OOC format, it can be loaded into HOOPS via the HOOPS/OOC Plug-in which is part the HIO Plug-in architecture under the HOOPS/MVO module. The HOOPS/OOC HIO plug-in reads in the OOC file. At this point, the HOOPS/3dGS database is populated with a scene graph that spatially describes the point cloud data. As areas of the model become visible on screen, HOOPS/3dGS makes requests to the HOOPS/OOC HIO plug-in for data in the part of the model. Note that the node data directory must reside in the same directory as the OOC file. HOOPS/3dGS and HOOPS/OOC work closely together to manage the amount of data loaded into memory so that performance and visual details are carefully balanced.

OOCHLLoad.png
Figure 2.0b shows a diagram of the loading and rendering of processed point cloud data.