<DD> This integer is the depth up to which a conjugate-gradients solver will be used to solve the linear system. Beyond this depth Gauss-Seidel relaxation will be used.<br>
<DD> This string is the name of the file from which the triangle mesh will be read.
The file is read in <A HREF="http://www.cc.gatech.edu/projects/large_models/ply.html">PLY</A> format and it is assumed that the vertices have a <I>value</I> field which stores the signal's value. (When run with <B>--density</B> flag, the reconstructor will output this field with the mesh vertices.)
<DT><b>--trim</b> <<i>trimming value</i>>
<DD> This floating point values specifies the value for mesh trimming. The subset of the mesh with signal value less than the trim value is discarded.
<DD> This integer values the number of umbrella smoothing operations to perform on the signal before trimming.<BR>
The default value is 5.
<DT>[<b>--aRatio</b> <<i>island area ratio</i>>]
<DD> This floating point value specifies the area ratio that defines a disconnected component as an "island". Connected components whose area, relative to the total area of the mesh, are smaller than this value will be merged into the output surface to close small holes, and will be discarded from the output surface to remove small disconnected components.<BR>
The default value 0.001.
<DT>[<b>--polygonMesh</b>]
<DD> Enabling this flag tells the trimmer to output a polygon mesh (rather than triangulating the trimming results).
</UL>
<HR>
<A NAME="USAGE"><B>USAGE</B></A><br>
For testing purposes, two oriented point sets are provided:
A set of 100,000 oriented point samples (represented in ASCII format) was obtained by sampling a virtual horse model with a sampling density proportional to curvature, giving a set of non-uniformly distributed points.<br>
The surface of the model can be reconstructed by calling the surface reconstructor as follows:
<LI> The implementation of the <b>--samplesPerNode</b> parameter has been modified so that a value of "1" more closely corresponds to a distribution with one sample per leaf node.
<LI> The code has been modified to support compilation under MSVC 2010 and the associated solution and project files are now provided. (Due to a bug in the Visual Studios compiler, this required modifying the implementation of some of the bit-shifting operators.)
<LI> The code supports screened reconstruction, with interpolation weight specified through the <b>--pointWeight</b> parameter.
<LI> The code has been implemented to support parallel processing, with the number of threads used for parallelization specified by the <b>--threads</b> parameter.
<LI> The input point set can now also be in <A HREF="http://www.cc.gatech.edu/projects/large_models/ply.html">PLY</A> format, and the file-type is determined by the extension, so that the <b>--binary</b> flag is now obsolete.
<LI> At depths coarser than the one specified by the value <b>--minDepth</b> the octree is no longer adaptive but rather complete, simplifying the prolongation operator.
<LI> The <B>--density</B> flag was added to the reconstructor to output the estimated depth of the iso-vertices.
<LI> The <I>SurfaceTrimmer</I> executable was added to support trimming off the subset of the reconstructed surface that are far away from the input samples, thereby allowing for the generation of non-water-tight surface.
<LI> Modified the solver to use Gauss-Seidel relaxation instead of conjugate-gradients at finer resolution.
<LI> Re-ordered the implementation of the solver so that only a windowed subset of the matrix is in memory at any time, thereby reducing the memory usage during the solver phase.
<LI> Separated the storage of the data associated with the octree nodes from the topology.
<LI> Re-ordered the implementation of the iso-surface extraction so that only a windowed subset of the octree is in memory at any time, thereby reducing the memory usage during the extracted phase.
<LI> Added a <B>MemoryPointStream</B> class in <I>PointStream.inl</I> to support in-memory point clouds.
<LI> Modified the signature of <U>Octree::SetTree</U> in <I>MultiGridOctreeData.h</I> to take in a pointer to an object of type <B>PointStream</B> rather than a file-name.
<LI> Modified the signature of <U>Octree::SetIsoSurface</U> to rerun a <I>void</I>. [<A HREF="http://www.danielgm.net/cc/">cloudcompare</A>]
<LI> Added a definition of <U>SetIsoVertexValue</U> supporting double precision vertices. [<A HREF="http://www.danielgm.net/cc/">cloudcompare</A>]
<LI> Removed <I>Time.[h/cpp]</I> from the repository. [<A HREF="http://www.danielgm.net/cc/">cloudcompare</A>/<A HREF="http://asmaloney.com/">asmaloney</A>]
<LI> Fixed assignment bug in <U>Octree::SetSliceIsoVertices</U>. [<A HREF="http://asmaloney.com/">asmaloney</A>]
<LI> Fixed initialization bug in <U>SortedTreeNodes::SliceTableData</U> and <U>SortedTreeNodes::XSliceTableData</U>. [<A HREF="http://asmaloney.com/">asmaloney</A>]
<LI> Included <I>stdlib.h</I> in <I>Geometry.h</I>. [<A HREF="http://asmaloney.com/">asmaloney</A>]
<LI> Fixed default value bug in declaration of <U>Octree::SetTree</U>. [<A HREF="http://asmaloney.com/">asmaloney</A>]