GCHECKER(1)

πŸ“¦ version 7.44.0, in nixpkgs unstable

✨ gchecker ✨

okay bestie, welcome to GCHECKER(1) β€” the manual page for the one and only gchecker. It's giving "serious geometry overlap data generator" but make it group-chat. If you're here, you're probably trying to vibe-check overlaps in a BRL-CAD database, and honestly? Same. πŸ’…βœ¨


🌸 NAME 🌸

gchecker β€” generate geometry overlap data for the MGED Overlap Tool. That's the name, no cap, and the whole assignment.

πŸ¦‹ SYNOPSIS πŸ¦‹

gchecker [-d] [-v] [-f] [-h] file.g [objects ...]

πŸŽ€ DESCRIPTION πŸŽ€

okay so here's the tea, bestie: gchecker analyzes a BRL-CAD geometry database for overlaps and writes a summary file that can be loaded by the MGED Overlap Tool. It's a C++ reimplementation of the historical check.tcl logic β€” iconic behavior in a new outfit, fr fr. ✨

For the named geometry file file.g, gchecker creates a working directory named after the database file with a .ck suffix (for example, a working directory model.g.ck for model.g), copies the database into it, and runs the check overlaps command (see check(n)) against the requested objects. If no objects are specified, all top-level (tops) objects in the database are used. No stress, it picks the tops for you. 🫢

Overlaps are sampled from sixteen azimuth/elevation view angles per object, combining a ray-density pass (equivalent to rtcheck) and a grid-spacing pass (equivalent to gqa). For each unique overlapping pair of regions, the average overlap size (the product of overlap count and depth, in millimeters) is computed. The results are written to ck.file.g.overlaps inside the working directory, one pair per line as left right size. The copy of the database is removed when processing completes. Not me loving a clean working directory, but here we are. πŸ§ΉπŸ’–

πŸ’… OPTIONS πŸ’…

  • -d, β€”dry-run β€” step through the checker stages but do not raytrace. No overlap data is produced; useful for confirming the working directory and object selection. It's the "look but don't touch" era β€” perfect for a vibe check. πŸ‘€
  • -v, β€”verbose β€” print verbose information about result processing, including each matched overlap line and the per-pair size accumulation. If you're nosy in the best way, this is your main character moment. πŸ“
  • -f, β€”force β€” overwrite an existing .ck working directory. Without this flag, gchecker refuses to run if the working directory already exists. So yeah, respect the force or get refused, periodt. πŸ’€
  • -h, β€”help β€” print a help message and exit. The classic "help me help you" moment, lowkey iconic. πŸ™ˆ

πŸ”₯ EXAMPLES πŸ”₯

Example 1. Check every top-level object in a database

gchecker -f model.g

Removes any stale model.g.ck directory, copies model.g into a fresh one, and checks all tops objects for overlaps. The resulting ck.model.g.overlaps file (written inside model.g.ck) can then be opened with the MGED Overlap Tool. Slay, that's the whole flow. πŸ‘‘

Example 2. Check specific assemblies with verbose output

gchecker -v moss.g all.g component.r

Limits the overlap analysis to the named objects all.g and component.r rather than scanning the entire database, while printing detailed progress and the individual overlap measurements as they are accumulated. Main character energy for those two objects specifically. πŸ’–

🌈 SEE ALSO 🌈

brlcad(1), mged(1), rtcheck(1), gqa(1), check(n) β€” go read the friends, iykyk. ✨

🌸 AUTHOR 🌸

BRL-CAD Team. iconic. πŸ’œ

This software is Copyright (c) 1989-2026 by the United States Government as represented by U.S. Army Research Laboratory. Periodt, protect the copyright. 🫢

πŸ¦‹ BUG REPORTS πŸ¦‹

Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org. Not me being your bug-report bestie, but yes β€” the devs are there. 😭

okay that's the page, bestie 🫢 β€” footer source/version vibes are BRL-CAD / GCHECKER(1), and no date is shown in this footer, so I'm not inventing a timestamp, periodt. 🌈

πŸ“¦ where this page comes from