Introduction

OxMath is a modular 2D & 3D math library with common classes like vectors and quaternions, plus more advanced features such as vector-arrays and bounding volume/intersection classes. The vector-arrays are designed for efficient vertex and triangle storage with batch processing functions that utilize Accelerate.framework (AltiVec/SSE SIMD functions) on Mac OS X whenever possible. Time-slice function classes are also included to help create finite or cyclical procedural animations.

Installation

This library is modular, with a required set of common classes plus several add-ons. To use the OxMath Classes in your REALbasic project simply drag the "OxMath" folder included in the download archive into the IDE's Project tab. To use the add-on classes, open the "OxMath Extras" folder included in the download archive and drag the appropriate folder(s) into the IDE's Project tab. Alternatively, drag the entire "OxMath Extras" folder into the Project tab to utilize all the add-ons.

Important!

This library is designed for speed over safety, and as such many methods disable REALbasic's built-in error checking mechanisms in release builds, and use pointers at a level where REALbasic's error checking wouldn't catch problems in the first place. This means release builds can and will crash outright if a fatal error is encountered. No need to fret however! Debug builds always have safety nets in place to help you catch and correct errors before compiling release builds. You can also set the OxMath.kReleaseBuildErrorChecking constant to True to enable these checks in release builds (with some added overhead of course).

IDE Requirements

Supported Build Targets

Documentation Notes

These documents require a modern Javascript enabled web browser for full functionality. Cookies are also required to maintain view panel states during each browsing session. Note that Safari running on Mac OS X 10.4 and prior systems does not properly support cookies when browsing local files (i.e. file:// urls). Mozilla (Firefox) or Opera based browsers are recommended for local viewing on those systems.

Conventions

Property and method declarations are displayed in full syntax, with optional parameters and default values drawn in italics. Clicking on property or method names will toggle a detailed information panel, and links to properties or methods will expand and highlight the appropriate view panel.

Icon Legend