Go to file
2016-01-13 16:44:04 +01:00
benchmarks benchmarks: fix warning about insane use of printf() 2016-01-13 14:57:58 +01:00
doc README: add logo 2015-11-25 09:53:20 +01:00
src tests: move gmio_stlb_header_to_printable_str() to gmio_stl/stlb_header.h 2016-01-13 15:25:18 +01:00
tests tests: verbose ctest 2016-01-13 15:42:50 +01:00
.gitignore git: ignore any subdirs inside benchmark_other 2015-12-18 10:53:11 +01:00
.travis.yml travis: linux-gcc release build with gcc-4.9 2016-01-13 16:44:04 +01:00
appveyor.yml CI: build fake_support 2015-09-02 12:11:56 +02:00
CMakeLists.txt tests: enable fast_atof() benchmark check only for release builds 2016-01-13 10:55:59 +01:00
LICENSE_en.txt Rename license files 2015-03-03 16:55:25 +01:00
LICENSE_fr.txt Rename license files 2015-03-03 16:55:25 +01:00
README.md README: credits to Erik Yin 2015-11-27 11:39:27 +01:00
travis-build-script.sh travis: ensure sub-script fails on any error 2015-09-11 21:44:22 +02:00

gmio_logo ======================================================

Build Status Build status Coverity Scan Build Status Coverage Status License

C library for geometry input/output

gmio is a reusable C library whose purpose is to provide complete I/O support for various CAD file formats (eg. STL)

gmio aims to be fast, portable (ISO-C90 conformance) and feature-rich. Main highlights:

  • "Abstract" streams that does not tie the user to C stream (FILE*). gmio provides a general stream structure based on callbacks, so that any kind of device can be used (memory, file, socket, ...)
  • Operations can be easily aborted
  • Buffering of input/ouput for efficient device usage
  • Available under the CeCILL-B license, which is fully BSD compatible

Supported CAD files format

Current version only supports the STL file format (STereoLithography), but support is complete :

  • Binary(little/big endian) and ASCII formats
  • Header data and "attribute byte count" for binary format
  • Name of solid for ASCII format
  • Detection of the input data format
  • Ability to specify the text formatting to represent float values

In addition, the STL module has the following advatanges:

  • The user keeps its own geometry data structures, no conversion needed. This reduces the effort so that the user just specifies callbacks for retrieval/creation of geometry data
  • No dynamic memory allocations
  • Extended support of OpenCascade's StlMesh_Mesh

Building gmio

gmio can be built with CMake, by default a static library is generated.

Read the Build instructions

How to report a bug

If you think you have found a bug in gmio, we would like to hear about it so that we can fix it. The gmio bug tracking system is open to the public at https://github.com/fougue/gmio/issues.

Before reporting a bug, please use the bug-tracker's search functions to see if the issue is already known.

Always include the following information in your bug report: the name and version number of your compiler; the name and version number of your operating system; the version of gmio you are using, and what configure options it was compiled with.

If the problem you are reporting is only visible at run-time, try to create a small test program that shows the problem when run.

License

This software is governed by the CeCILL-B license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL-B license as circulated by CEA, CNRS and INRIA at the following URL http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html

"gmio" logo rendered with Prism font (thanks to Erik Yin !)