#include <nmg.h>
LIBNMG(3)
NAME
libnmg - non-manifold geometry (NMG) library for BRL-CAD
On this page
SYNOPSIS
Link with -lnmg.
The public interface is organized across the headers included by nmg.h, including nmg/defines.h, nmg/model.h, nmg/region.h, nmg/shell.h, nmg/face.h, nmg/loop.h, nmg/edge.h, nmg/vertex.h, nmg/topology.h, nmg/isect.h, nmg/nurb.h, nmg/io.h, and nmg/plot.h.
DESCRIPTION
LIBNMG implements "Non-Manifold Geometry" (NMG), BRL-CAD’s primary mechanism for storing and manipulating planar (faceted) mesh geometry. The data structures follow the radial-edge boundary representation developed by Kevin J. Weiler, which is capable of representing both manifold and non-manifold topology within a single, uniform model.
The library defines a hierarchy of topological entities — model, region, shell, face, loop, edge, and vertex — together with the operators needed to build, traverse, validate, and modify them. Facilities include geometric intersection and boolean evaluation of NMG solids, tessellation support, plotting, and import/export of NMG data.
The complete API, including data structures and function signatures, is documented in the headers noted above and in the Doxygen-generated reference for the LIBNMG module. Background on BRL-CAD’s implementation is described in the published literature referenced from nmg.h.
SEE ALSO
brlcad(1), librt(3), libbrep(3), libbg(3), libbn(3)
The BRL-CAD Doxygen API reference provides the authoritative, up-to-date description of all public LIBNMG routines.
AUTHOR
BRL-CAD Team
COPYRIGHT
This software is Copyright (c) 2004-2026 United States Government as represented by the U.S. Army Research Laboratory.
BUG REPORTS
Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org