Go to file
2016-04-25 17:16:26 +02:00
benchmarks gmio_support: split stl_occ.h+cpp into stl_occ_mesh and stl_occ_meshvs 2016-04-15 12:37:05 +02:00
doc More doc 2016-04-06 17:33:05 +02:00
examples examples: fix build errors 2016-04-15 13:05:36 +02:00
src gmio_support: provide gmio_stl_mesh support of TopoDS_Shape 2016-04-25 17:16:26 +02:00
tests gmio_support: provide gmio_stl_mesh support of TopoDS_Shape 2016-04-25 17:16:26 +02:00
.gitignore git: ignore any subdirs inside benchmark_other 2015-12-18 10:53:11 +01:00
.travis.yml travis: cmake options implicitly set to OFF when not specified 2016-01-14 09:36:36 +01:00
appveyor.yml appveyor: fix cmake error 2016-03-25 13:38:47 +01:00
CMakeLists.txt benchmarks: add benchmark for Lib3MF 2016-03-25 12:41:18 +01:00
coverity_travis.yml Add yml file to trigger coverity scan with travis [skip_ci] 2016-03-24 10:03:28 +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: add documentation section 2016-04-08 12:10:03 +02:00
travis-build-script.sh travis: build examples and benchmark_gmio 2016-03-08 10:14:40 +01: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 providing complete I/O support for various CAD file formats (eg. STL)

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

Main highlights:

  • "Abstract" streams that does not tie the user to C stream(FILE*)
  • Buffering of input/ouput for efficient device usage
  • Operations can be easily aborted
  • Progress report about the I/O operation
  • 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 :

  • ASCII format: Case-insensitive reading
  • ASCII format: Output format(%f, %e, ...) and precision of floats support
  • Binary format: Little/big endian support
  • Binary format: 80-byte header and facet "attribute byte count" support
  • Detection of the input format
  • Retrieval of infomations about contents(facet count, solid name, ...)
  • Multiple solids from stream(eg. 4 solids in STL ascii file)

In addition, the STL module has the following advatanges:

  • The user keeps its own geometry data structures, no mesh conversion needed
  • Fixed memory consumption and independant of the mesh size
  • Seamless use of OpenCascade StlMesh_Mesh and MeshVS_DataSource in gmio

Building gmio

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

Read the Build instructions

Documentation

The HTML reference manual generated by Doxygen is here

There is also a wiki

How to report a bug

The gmio bug tracking system is open to the public at https://github.com/fougue/gmio/issues.

If you think you have found a bug in gmio, we would like to hear about it so that we can fix it.

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
  • 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

Credits

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