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 component.

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.