azimuth
Viewing aspects in mged may be specified in terms of azimuth, elevation, and twist.

Azimuth is the angle (in degrees) around the z-axis through which the viewing direction is rotated from the positive xz-quarterplane towards the positive y-axis. When azimuth = elevation = 0, for instance, viewing is parallel to the x-axis in the direction of decreasing x. When azimuth = 90 degrees, viewing is parallel to the yz-plane along some direction of decreasing y: the precise direction within the yz-plane being specified by the elevation. Azimuth can take on any real value.


Boolean
The Boolean (i.e., set-theoretic) operations of union, intersection, and subtraction are used in constructive solid geometry to build complex objects from simpler ones.

Boundary Representation
Boundary Representation (BREP) is one of the two major types of solid modelling, the other being constructive solid geometry. BREP objects are built by describing the entire enclosing surface of an object. This will typically involve a variety of surface types including, for example, planar, cylindrical, NURB, and sperical surfaces. While objects in a BREP system may be built using Boolean operations, the resulting object is typically stored a a set of enclosing surfaces.

Combination
a combination is a formula for combining primitive solids and/or other combinations into a more complex shape. Each solid or other combination directly in this formula is referred to as a member of this combination. The formula may invlove intersection, subtraction, and union operations, and the combination may be assigned a shader and a color. Combinations are typically built in mged using the c, comb, r, or g commands.Regions and groups are special types of combinations.

Constructive Solid Geometry
Constructive solid geometry (CSG), sometimes referred to as combinatorial solid geometry, is one of the two major types of Solid modelling (The other being boundary representation). In a CSG system, complex objects are built by combining simpler objects, with primitive solids as the basic building blocks. The combinations make use of Boolean operations, and the resulting objects are stored as trees. BRL­CAD is actually a hybrid of CSG and BREP, but its main emphasis is on the CSG capabilities.

Directed Acyclic Graph
In a Directed Acyclic Graph, each node may refer to multiple objects, and each object may be refered to multiple times. However, no node is permitted to refer to any of it's ancestors.

elevation
Viewing aspects in mged may be specified in terms of azimuth, elevation, and twist. Elevation is the angle (in degrees) through which the viewing direction is rotated out of the xy-plane towards the positive z-axis (see the illustration in the azimuth entry). When elevation = 90 degrees, for instance, viewing is parallel to the z-axis in the direction of decreasing z. Elevation can take on any real value between -90 and +90 degrees.

Ident
An ident (also referred to as component ID, region ID, item, or ID code) is a number assigned to a region to distiguish it from all the other regions in the BRL­CAD model. This number is assigned by the user.

Inheritance
Inheritance is an attribute of combinations that determines how shader attributes are handled when a member of a combination is itself a combination. If the inheritance flag is set to 1, then all the shader attributes of combinations lower in the tree are overidden by this combination. If inheritance flag is set to 0, then the shader attributes of this combination will be overidden by proprties from combinations higher in the tree.

LOS
An LOS is a percentage (0 to 100) assigned to a region representing the percentage of the region that consists of solid material. This information is assigned by the user and is not directly used by BRL­CAD, but is reported to applications that need it.

Material code
A region may be assigned an integer material code by the user. This is intended to identify the material used to build the part. The material code is ignored by BRL­CAD, except to report it to application codes.

group
A group is a combination with all union operators. Typically a group is used to combine components into a subsystem, subsystems into a system, or systems into top level group.

Member
A primitive solid or a combination is referred to as a member of a combination if it is directly referenced by the combination.

MGED
MGED is the interactive graphical editor for BRL­CAD. It may be used to view, modify, and create models. Normally, the user views the model in a wireframe display in MGED.

Path
A path to an object in BRL­CAD is a list of combinations that ends at the desired object. The path is specified similar to a path in the UNIX file system (with ``/'' characters as separators). Each element of the path must be a member of the previous element. For example, ``left_arm/arm/hand/thumb'' might be a path from ``left_arm'' to ``thumb'' in some BRL­CAD database indicating that ``arm'' is a member of ``left_arm'', ``hand'' is a member of ``arm'', and ``thumb'' is a member of ``hand''. The path information implies a set of transformation matrices (each member of a combination has a transformation matrix associated with it). As a path is traversed, the effects of encountered transformation matrices are accumulated, and typically applied to the object at the end of the path. This means that the thumb referred to by the path ``left_arm/arm/hand/thumb'' is likely to be in a different location and orientation (and possibly scaled) from the thumb referred to by ``right_arm/arm/hand/thumb''.

Primitive solid
Primitive solids are the basic building blocks of CSG solid modelling systems. The primitive solids available in BRL­CAD include:

tree
A tree is a Boolean expression representing some combination of objects. Strictly speaking, this is an abuse of the term tree: such Boolean expressions are not trees in either the computer-science or the graph-theoretic sense, but are more correctly referred to as acyclic directed graphs, also known as DAGs.

twist
Viewing aspects in mged may be specified in terms of azimuth, elevation, and twist. Twist is the angle (in degrees) around the screen-z-axis through which the the (model-) z-axis is rotated from the positive screen-y-axis towards the positive screen-x-axis. (see the illustration in the azimuth entry). When twist = 0, for instance, the positive z-axis is some nonnegative multiple of the positive screen-y-axis.

Raytrace
Raytracing is the main method of interrogation for BRL­CAD models. It is performed by selecting a start point and a ray direction, then calculating the intersections of this ray with all the primitive solids it encounters. The segements of the ray that intersect each primitive solid are then combined using the Boolean, expressions for each region using those solids, to produce segments of the ray that intersect each region along the ray. If the objective of the raytracing effort is to produce an image, the calculations will typically be stopped after the first region is encountered. The BRL­CAD RT code performs such raytracing.

Region
A region is a combination with a flag set to mark it as a region. A region in BRL­CAD has special significance for analysis codes. In addtion to all the attributes of any combination, a region also has an ident number, a material code number, an LOS number, and a space code number. A region should not occupy the same physical space as any other region. If two regions overlap, warning messages will be printed during raytracing.

RGB
RGB is an abbreviation for Red, Green, and Blue. When a color is specified in BRL­CAD, it is in terms of its primary color components. Each component may be from 0 to 255. An RGB of ``0 0 0'' is black, ``255 255 255'' is white, and ``0 255 0'' is green.

RT
RT is one of the codes in the BRL­CAD package. It is used to raytrace a model and produce a color shaded image. RT supports transparency, reflection, refraction, shadows, texture mapping, light sources, and animation.

Shader
A shader is a BRL­CAD module that performs calculations to determine the actual pixel color to be displayed when a ray intersects an object during rendering by RT. Shaders are assigned to combinations by the user, and some allow additional parameters to adjust their appearance. Some shaders available are mirror, glass, plastic, texture (for texture mapping), and others. Source code modules in the RT directory if the form sh_*.c correspond to the available shaders.

Solid Model
A Solid Model is a description of an object or objects produced in such a way that any point can be classified as inside, outside, or on the surface of a modelled object without ambiguity. This means that a true solid model cannot have surfaces that do not completely enclose space, and solid objects that are defined in the model must not be defined based on irrelevant variables such as viewing direction.

Model Coordinates
In a BRL­CAD model, the model coordinates are the actual coordinates of points on the model in real units. The origin of the model coordinate system is selected by the user. By convention, a model in BRL­CAD is oriented so that the positive x-axis points from the model's back to its front, the positive y-axis points from the model's right to its left, and, since the coordinate system is right handed, the positive z-axis points from the model's bottom to its top. All BRL­CAD models are stored in millimeters, however the user may operate in nearly any units by using the mged units command.

Quaternion
Internal to mged, the viewing orientation is handled in terms of quaternions. A quaternion is a method for representing an arbitrary rotation without the ambiguity that accompanies some methods at the poles. A quaternion may be thought of as a vector (defining an axis of rotation), and a rotation about that axis.

Space Code
A space code (or air code) is assigned to regions that are intended to represent air space rather solid parts of the model. The code number distinguishes different air spaces from each other. Regions representing solid parts must have a space code of 0. This information is assigned by the user, but is ignored in BRL­CAD except to report it to application codes.

View Coordinates
When an object is displayed in the mged graphics window, it is converted from model to view coordinates. The view coordinate system has its origin at the center of the viewing cube (the center of the mged display). The view X-axis always points to the right, the view Y-axis always points toward the top of the display, and the view Z-axis always points out o fthe screen towards the viewer. The visible portion of view space (known as the ``viewing cube'') extends from -1.0 to +1.0 along each of the view axes.