idents — BRL-CAD idents file format
An idents file is a line-based plain text file containing identifiers, properties, and path information for BRL-CAD geometry. Typically generated by the idents command in mged or archer, the idents file contains information for a list of regions. The identifier data written for each region includes a sequential region count, a region identifier (a.k.a. the "ident" number), an air code, a material code, a line-of-sight (a.k.a. "LOS") thickness factor, and the path to the region.
Each line constitutes a record. Lines with non-whitespace in the first character position of the line (i.e., character position 0) are considered comments. By default, there is both a header and a footer with additional information including the file name, title, units, objects, and details on the file's original creation.
Lines beginning with a space (i.e., character position 0) are considered region records with six columns separated by whitespace. As region paths may contain spaces, the last column continues until an end-of-line colon (:) character. The columns are described in following:
For output purposes only, each region is assigned a number based as it's encountered in the output hierarchy.
Region identifiers for solid geometry are non-zero numbers representing a single homogeneous material object (i.e., a part). This value is encoded as the "region_id" attribute on region objects.
Region IDs need not be unique, but may be reassigned uniquely using the reid command in MGED.
Negative region IDs canonically indicate an air region.
All regions representing "air" can have an identifier
number set on them, encoded as a positive-valued "aircode"
attribute on region objects. Regions marked as air are
typically handled differently by applications (e.g., the
rt utility ignores them by default during
rendering unless the -U
option is specified).
Air regions also can exhibit different overlap behavior.
All regions can have a material identifier set on them, encoded as a non-negative "material_id" number. All objects consisting of the same material typically are encoded with the same material ID value. What the value represents is encoded in a separate file, table, or object and can be extracted using various commands (e.g., see the material and mater commands in MGED).
All regions can have a light-of-sight thickness factor (a.k.a. "los") set to indicate its proportional representation of material homogeneity. That is, it indicates what percentage of a given object is the material specified.
Line-of-sight factors are typically used in place of modeling detail. For example, one might model a radio that in reality has circuitry, wires, air voids, and more as a simple box with material_id set to a code representing aluminum and los set to 10. This would indicate, for analytic purposes, that the box is 10% aluminum by volume.
The last column contains the full path to a given region. As paths may contain spaces and other characters, the path and lines are terminated with a colon (:) character.
Example 1.
1 -8 Summary Table {idents} (written: Wed May 11 14:37:52 2022)
2 -7 file name : /path/to/db/moss.g
3 -6
4 -5
5 -4 user : Christopher Sean Morrison
6 -3 target title : Gary Moss's "World on a Platter"
7 -2 target units : mm
8 -1 objects : all.g
1 1000 0 0 0 /all.g/platform.r:
2 2000 0 0 0 /all.g/box.r:
3 3000 0 0 0 /all.g/cone.r:
4 4000 0 0 0 /all.g/ellipse.r:
5 6000 0 0 0 /all.g/tor.r:
6 1000 0 1 100 /all.g/light.r:
* 9999999
* 9999999
* 9999999
* 9999999
* 9999999
idents(n), reid(n), remat(n), reg_def(n), material(n), mater(n), edcodes(n), rcodes(n), wcodes(n), mged(1), and archer(1).