===============================
ooc.exe Command Line Executable
===============================

Name
====

*ooc.exe* - preprocesses an ASCII point cloud file for optimal rendering in HOOPS/3dGS.


Synopsis
========

*ooc [OPTION]...*


Description
-----------

Spatially restructures and compresses ASCII point cloud file(s). Outputs an index file *<output_filname>.ooc* and a directory, *<output_filename>_nodes*, containing a list of *.node* data files. The index file contains a spatially organized scene graph while the data directory contains data files associated with each node in the scene graph.  The index file can be loaded into HOOPS/3dGS via the ``HIOUtilityOOC`` class.


* *-h*

Displays help information.

* *-f [args]*

The ASCII point cloud input file name.  Currently, *.ptx*, *.pts*, and *.xyz* formats are supported. To process multiple point cloud datasets together, use the *-f* for each input file.

* *-F [args]*

Pass a file path and name containing a list of point cloud file names to be processed together. Within the file, they should be listed one per line.

* *-m  [args]*

Maximum memory usage in MB. The default is 512.

* *-s  [args]*

A shell is specified at each node of the final scene graph.  You can specify the maximum number of points that can be used to define each shell. The default is 10,000 points.

* *-p  [args]*

Percentage of points to import from the raw input file.  This value should be between 0.0 and 1.0 inclusively.

* *-b [args]*

Exclude all points outside a given bounding box.  The format is with no spaces: (min_x,min_y,min_z,max_x,max_y,max_z).

* *-o [args]*

Name of the output file including the path. The output index file will have ".ooc" appended to it while the node directory will have a "_node" appended to its name. If this option is not specified, the input file name will be used.  The original extention with have the "." replaced with "_" such that an input file name *pointcloud.ptx* will yield an output of *pointcloud_ptx.ooc* for the index file and *pointcloud_ptx_nodes* for the node directory name.

* *-r*

Overwrite any existing output files.  If this option is not passed and an output file the same name already exists, an error will be return and no preprocessing will occur.

* *-l [args]*

Write the log information to a specified file along with the path.  If this option is not specified, log information will just be output to *stdout*.
