trimesh trimesh2 is a C++ library and set of utilities for input, output, and basic manipulation of 3D triangle meshes. The goals of the code are ease of use and efficiency, possibly at the expense of some generality.


The library includes the following:

Bundled together with the library are:

In addition, the following utility programs are included:

The library is distributed under the GNU General Public License (GPL), version 2. The various libraries distributed with trimesh2 are open source, and are believed to be covered by GPL-compatible licenses. Please see the COPYING file.

The code is written in C++, and is known to compile using a recent (4.x) version of g++ on several Unix-like OSes (Linux x86 and x86-64, Solaris, Mac OSX). Compiling under Windows is possible using Cygwin or MinGW32. Anecdotally, the code compiles with MS Visual Studio .NET or later (not MSVC 6), but I am not able to support this – you're on your own. (However, I will gladly accept patches that fix compilation, and will consider patches that squash warnings.)

Warning: some gcc versions are known to miscompile trimesh2.
Please avoid version 4.1.2, or anything earlier than 4.0.1.

The author of trimesh2 is Szymon Rusinkiewicz.


The most recent version is 2.16

The packages include source that should compile on Linux, Mac, and MINGW / Cygwin.


Changes version 2.15 → 2.16:

Changes version 2.14 → 2.15:

Changes version 2.13 → 2.14:

Changes version 2.12 → 2.13:

Changes version 2.11 → 2.12:

Changes version 2.10 → 2.11:

Changes version 2.9 → 2.10:

Changes version 2.8 → 2.9:

Changes version 2.7 → 2.8:

Changes version 2.6 → 2.7:

Changes version 2.5 → 2.6:

Changes version 2.4 → 2.5:

Changes version 2.3 → 2.4:

Changes version 2.2 → 2.3:

Changes version 2.1 → 2.2:

Changes version 2.0 → 2.1:

Please contact smr at princeton edu if you have any questions about the code.