neuray API Programmer's Manual

Math API Include Files

The math API contains the base API include files as well.

The mi/base.h include file and all include files in the mi/base/ subdirectory are from the base API.

The math API offers two groups of include files. One group contains the mi/math.h include file and the mi/base.h include file, which provide the full functionality of the math API and the base API, respectively. The other group consists of several include files named mi/math/<functional-name>.h, which provide individual parts of the math API grouped by functionality, or mi/base/<functional-name>.h, which provide individual parts of the base API grouped by functionality. In fact, the mi/math.h include file just includes mi/base.h and all include files in the mi/math/ subdirectory.

See Base API Include Files for the individual base API include files grouped by compoment.

Include files are self-contained. Internal dependencies are resolved automatically. As a consequence, their inclusion is order independent.

Main Include File

Description

mi/base.h

Includes all sub-include files of the base API.

mi/math.h

Includes all sub-include files of the math API and mi/base.h .

Math Include Files Grouped by Component

Description

Documentation

mi/math/version.h

Version number for the math API.

Versioning of the Math API

mi/math/assert.h

Assertions and static assertions.

Math API Assertions

mi/math/function.h

Math functions and function templates on simple types or generic container and vector concepts.

Math Functions.

mi/math/vector.h

Math vector class template of fixed dimension with arithmetic operators and generic functions.

Math Vector Class.

mi/math/matrix.h

N-times-M-dimensional matrix class template of fixed dimensions with supporting functions.

Matrix Class.

mi/math/bbox.h

An axis-aligned N-dimensional bounding box class template of fixed dimension with supporting functions.

Bounding Box Class.

mi/math/color.h

Standard RGBA color class with mi::Float32 elements and operations.

Color Class.

mi/math/spectrum.h

Spectrum class with mi::Float32 elements and operations.

Spectrum Class.

There may be include files that are not documented here. They are automatically included if needed and their independent use is not supported. Their naming and organization might change in the future.