12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // This file is part of libigl, a simple c++ geometry processing library.
- //
- // Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
- //
- // This Source Code Form is subject to the terms of the Mozilla Public License
- // v. 2.0. If a copy of the MPL was not distributed with this file, You can
- // obtain one at http://mozilla.org/MPL/2.0/.
- #ifndef IGL_TETGEN_READ_INTO_TETGENIO_H
- #define IGL_TETGEN_READ_INTO_TETGENIO_H
- #include "../igl_inline.h"
- #include <string>
- #define TETLIBRARY
- #include "tetgen.h" // Defined tetgenio, REAL
- namespace igl
- {
- namespace tetgen
- {
- // Read a mesh or point set into tetgenio (input object for calling tetgen).
- // Many file formats are already supported by tetgen:
- // .off
- // .ply
- // .node
- // .ply
- // .medit
- // .vtk
- // etc.
- // Noteably it does not support .obj which is loaded by hand here (also
- // demonstrating how to load points/faces programatically)
- //
- // If the file extension is not recognized the filename is assumed to be the
- // basename of a collection describe a tetmesh, (of which at least the .node
- // file must exist):
- // [filename].node
- // [filename].ele
- // [filename].face
- // [filename].edge
- // [filename].vol
- //
- // Inputs:
- // path path to file or basename to files
- // Outputs:
- // in tetgenio input object
- // Returns true on success, false on error
- IGL_INLINE bool read_into_tetgenio(const std::string & path, tetgenio & in);
- }
- }
- #ifndef IGL_STATIC_LIBRARY
- # include "read_into_tetgenio.cpp"
- #endif
- #endif
|