Up: Home page for Qhull (local)
Up: Qhull manual: contents
To: Programs • Options • Output • Formats • Geomview • Print • Qhull • Precision • Trace • Functions (local)

# Qhull trace options (T)

This section lists the trace options for Qhull. These options are indicated by 'T' followed by a letter.

Copyright © 1995-2020 C.B. Barber

» Programs • Options • Output • Formats • Geomview • Print • Qhull • Precision • Trace • Functions (local)

## Trace options

  General
Ta
  annotate output with message codes
TFn
  report progress whenever n or more facets created
TI file
  input data from a file
TO file
  output results to a file
Ts
  print statistics
Tv
  verify result: structure, convexity, and point inclusion
Tz
  output error information to stdout instead of stderr
  Debugging
T4
  trace at level n, 4=all, 5=mem/gauss, -1= events
TAn
  stop after adding n vertices
Tc
  check frequently during execution
TCn
  stop qhull after building cone for point n
Tf
  flush each qh_fprintf for debugging segfaults
TMn
  turn on tracing at merge n
TPn
  turn on tracing when point n added to hull
TRn
  rerun qhull n times for QJn statitics
TV-n
  stop qhull before adding point n
TVn
  stop qhull after adding point n
TWn
  trace merge facets when width > n

### »Ta - annotate output with message codes

With option 'Ta', Qhull annotates output with message codes. Programmers may use these codes to trap the corresponding print statements.

### »TAn - stop Qhull after adding n vertices

With option 'TAn', Qhull stops after adding n vertices. See option 'TVn' to stop after adding point n.

### »Tc - check frequently during execution

Qhull includes frequent checks of its data structures. Option 'Tc' will catch most inconsistency errors. It is slow and should not be used for production runs. Option 'Tv' performs the same checks after the hull is constructed. Tracing ('T4') adds additional calls to qh_checkconvex, qh_checkpolygon, and qh_checkfacet.

### »TCn - stop qhull after building cone for point n

Qhull builds a cone from the point to its horizon facets. Option 'TCn' stops Qhull just after building the cone. The output for 'f' includes the cone and the old hull.'.

### »Tf - flush each qh_fprintf for debugging segfaults

Option 'Tf' flushes each qh_fprintf for debugging segfaults.

See option 'Tz' for redirecting stderr.

### »TFn - report summary whenever n or more facets created

Option 'TFn' reports progress whenever more than n facets are created. The test occurs just before adding a new point to the hull. During post-merging, 'TFn' reports progress after more than n/2 merges.

### »TI file - input data from file

Input data from 'file' instead of stdin. The filename may be enclosed in single quotes. If the filename does not contain spaces, TIfile is OK.

You may use I/O redirection instead (e.g., 'rbox 10 | qdelaunay >results').

### »TMn - turn on tracing at merge n

Turn on tracing at n'th merge.

### »Tn - trace at level n

Qhull includes full execution tracing. 'T-1' traces events. 'T1' traces the overall execution of the program. 'T2' and 'T3' trace overall execution, and geometric, topological, and merge events. 'T4' is the detailed trace of Qhull. 'T5' adds information about memory allocation and Gaussian elimination. 'T1' is useful for logging progress of Qhull in high dimensions. See Debugging Qhull.

Option 'Tn' can produce large amounts of output. Use options 'TPn', 'TWn', and 'TMn' to selectively turn on tracing. Since all errors report the last processed point, option 'TPn' is particularly useful.

Different executions of the same program may produce different traces and different results. The reason is that Qhull uses hashing to match ridges of non-simplicial facets. For performance reasons, the hash computation uses memory addresses which may change across executions.

### »TO file - output results to file

Redirect stdout to 'file'. The filename may be enclosed in single quotes. If the filename does not contain spaces, TOfile is OK. Unix and Windows NT users may use I/O redirection instead of 'TO' (e.g., 'rbox 10 | qdelaunay >results').

Windows95 users should always use 'TO file'. If they use I/O redirection, error output is not sent to the console. Qhull uses single quotes instead of double quotes because a missing double quote can freeze Windows95 (e.g., do not run, rbox 10 | qhull TO "x)

### »TPn - turn on tracing when point n added to hull

Option 'TPn' turns on tracing when point n is added to the hull. It also traces partitions of point n. This option reduces the output size when tracing. It is the normal method to determine the cause of a Qhull error. All Qhull errors report the last point added.

Use option 'TP-1' to turn on tracing after qh_buildhull and qh_postmerge.

Use options 'TPn TVn' to trace the addition of point n to the convex hull and stop when done.

If used with option 'TWn', 'TPn' turns off tracing after adding point n to the hull. Use options 'TPn TWn' to trace the addition of point n to the convex hull, partitions of point n, and wide merges.

### »TRn - rerun qhull n times for QJn statitics

Option 'TRn' reruns Qhull n times. It is used with 'QJn' to determine the probability that a given joggle will fail. The summary ('s') lists the failure rate and the precision errors that occurred. Option 'Ts' will report statistics for all of the runs. Trace and output options only apply to the last run. An event trace, 'T-1' reports events for all runs.

Tracing applies to the last run of Qhull. If an error is reported, the options list the run number as "_run". To trace this run, set 'TRn' to the same value.

### »Ts - print statistics

Option 'Ts' collects statistics and prints them to stderr. For Delaunay triangulations, the angle statistics are restricted to the lower or upper envelope.

### »Tv - verify result: structure, convexity, and point inclusion

Option 'Tv' checks the topological structure, flipped facets, and point inclusion. Facet convexity is tested if not merging or if 2-D/3-D and a merged facet. If precision problems occur, flipped facet tests and facet convexity tests occur whether or not 'Tv' is selected. Option 'Tv' does not check point inclusion if forcing output with 'Po', or if 'Q5' is set.

The convex hull of a set of points is the smallest polytope that includes the points. Option 'Tv' tests point inclusion. Qhull verifies that all points are below all outer planes (facet->maxoutside). Point inclusion is exhaustive if merging or if the facet-point product is small enough; otherwise Qhull verifies each point with a directed search (qh_findbest). To force an exhaustive test when using option 'C-0' (default), use 'C-1e-30' instead.

Point inclusion testing occurs after producing output. It prints a message to stderr unless option 'Pp' is used. This allows the user to interrupt Qhull without changing the output.

With 'qvoronoi Fi', option 'Tv' collects statistics that verify all Voronoi vertices lie on the separating hyperplane, and all separating hyperplanes are perpendicular bisectors.

### »TV-n - stop qhull before adding point n

Qhull adds one point at a time to the convex hull. See how Qhull adds a point. Option 'TV-n' stops Qhull just before adding a new point. Output shows the hull at this time.

### »TVn - stop qhull after adding point n

Option 'TVn' stops Qhull after it has added point n and before it deletes the visible facets. If facet merges lead to vertex merges, 'TVn' stops after vertex merges and deleting visible facets. Output shows the hull at this time. See option 'TAn' to stop after adding n vertices.

### »TWn - trace merge facets when width > n

Along with TMn, this option allows the user to determine the cause of a wide merge.

### »Tz - send all output to stdout

Redirect stderr to stdout. See option 'Tf' for flushing writes.

Up: Home page for Qhull (local)
Up: Qhull manual: contents
To: Programs • Options • Output • Formats • Geomview • Print • Qhull • Precision • Trace • Functions (local)

The Geometry Center Home Page

Comments to: qhull@qhull.org
Created: Sept. 25, 1995 --- Last modified: see top