2015-11-25 16:53:20 +08:00
|
|
|
<img src="doc/gmio.png" height="91" alt="gmio_logo"/>
|
|
|
|
======================================================
|
|
|
|
|
2015-07-13 17:22:43 +08:00
|
|
|
[](https://travis-ci.org/fougue/gmio)
|
|
|
|
[](https://ci.appveyor.com/project/HuguesDelorme/gmio)
|
|
|
|
<a href="https://scan.coverity.com/projects/5721">
|
|
|
|
<img alt="Coverity Scan Build Status"
|
|
|
|
src="https://scan.coverity.com/projects/5721/badge.svg"/>
|
2015-09-10 18:23:34 +08:00
|
|
|
</a>
|
2015-09-10 18:39:13 +08:00
|
|
|
[](https://coveralls.io/github/fougue/gmio?branch=master)
|
|
|
|
[](http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html)
|
|
|
|
|
2015-07-13 17:22:43 +08:00
|
|
|
|
2015-11-25 16:53:20 +08:00
|
|
|
C library for geometry input/output
|
2015-03-05 01:25:51 +08:00
|
|
|
===========================================
|
2014-01-21 23:18:17 +08:00
|
|
|
|
2015-05-28 15:40:24 +08:00
|
|
|
gmio is a reusable C library whose purpose is to provide complete I/O
|
2016-03-11 19:43:51 +08:00
|
|
|
support for various CAD file formats (eg. [STL](https://en.wikipedia.org/wiki/STL_%28file_format%29))
|
2015-03-05 01:25:51 +08:00
|
|
|
|
2015-11-25 17:18:49 +08:00
|
|
|
gmio aims to be [fast](https://github.com/fougue/gmio/wiki/4.-Benchmarks),
|
2016-03-14 19:36:46 +08:00
|
|
|
portable (C90 conformance) and feature-rich.
|
2016-03-15 01:00:27 +08:00
|
|
|
|
2015-03-05 01:25:51 +08:00
|
|
|
Main highlights:
|
2015-04-01 22:07:00 +08:00
|
|
|
|
2016-03-16 19:26:11 +08:00
|
|
|
* [x] "Abstract" streams that does not tie the user to C stream(`FILE*`)
|
2015-11-25 17:18:49 +08:00
|
|
|
* [x] Buffering of input/ouput for efficient device usage
|
2016-03-11 19:43:51 +08:00
|
|
|
* [x] Operations can be easily aborted
|
2016-03-14 19:36:46 +08:00
|
|
|
* [x] Progress report about the I/O operation
|
2015-11-25 17:18:49 +08:00
|
|
|
* [x] Available under the CeCILL-B license, which is fully BSD compatible
|
2015-03-05 01:25:51 +08:00
|
|
|
|
2015-06-26 18:40:29 +08:00
|
|
|
|
|
|
|
Supported CAD files format
|
|
|
|
==========================
|
|
|
|
|
2016-03-11 19:43:51 +08:00
|
|
|
Current version only supports the STL file format (STereoLithography), but
|
|
|
|
support is complete :
|
2015-04-01 22:07:00 +08:00
|
|
|
|
2016-03-14 22:53:22 +08:00
|
|
|
* [x] ASCII format: Case-insensitive reading
|
|
|
|
* [x] ASCII format: Output format(%f, %e, ...) and precision of floats support
|
|
|
|
* [x] Binary format: Little/big endian support
|
|
|
|
* [x] Binary format: 80-byte header and facet "attribute byte count" support
|
|
|
|
* [x] Detection of the input format
|
2016-03-14 19:36:46 +08:00
|
|
|
* [x] Retrieval of infomations about contents(facet count, solid name, ...)
|
2016-03-16 19:26:11 +08:00
|
|
|
* [x] Multiple solids from stream(eg. 4 solids in STL ascii file)
|
2015-03-05 01:25:51 +08:00
|
|
|
|
|
|
|
In addition, the STL module has the following advatanges:
|
2015-04-01 22:07:00 +08:00
|
|
|
|
2016-03-16 19:26:11 +08:00
|
|
|
* [x] The user keeps its own geometry data structures, no mesh conversion needed
|
|
|
|
* [x] Fixed memory consumption and independant of the mesh size
|
|
|
|
* [x] Seamless use of [OpenCascade StlMesh_Mesh](http://dev.opencascade.org/doc/refman/html/class_stl_mesh___mesh.html)
|
|
|
|
in gmio(see gmio_support)
|
2014-01-21 23:18:17 +08:00
|
|
|
|
|
|
|
|
2015-05-28 15:40:24 +08:00
|
|
|
Building gmio
|
2015-03-05 01:25:51 +08:00
|
|
|
===============
|
2014-01-21 23:18:17 +08:00
|
|
|
|
2015-05-28 15:40:24 +08:00
|
|
|
gmio can be built with CMake, by default a static library is generated.
|
2015-04-01 22:07:00 +08:00
|
|
|
|
2015-11-25 17:18:49 +08:00
|
|
|
Read the [Build instructions](https://github.com/fougue/gmio/wiki/2.-Build-instructions)
|
2014-01-21 23:18:17 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-03 18:03:50 +08:00
|
|
|
How to report a bug
|
|
|
|
===================
|
2014-01-21 23:18:17 +08:00
|
|
|
|
2016-03-15 01:00:27 +08:00
|
|
|
The gmio bug tracking system is open to the public at
|
|
|
|
https://github.com/fougue/gmio/issues.
|
|
|
|
|
2015-05-28 15:40:24 +08:00
|
|
|
If you think you have found a bug in gmio, we would like to hear
|
2016-03-15 01:00:27 +08:00
|
|
|
about it so that we can fix it.
|
2014-01-21 23:18:17 +08:00
|
|
|
|
2016-03-15 01:00:27 +08:00
|
|
|
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.
|
2014-01-21 23:18:17 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2015-03-03 18:03:50 +08:00
|
|
|
License
|
|
|
|
=======
|
|
|
|
|
|
|
|
This software is governed by the CeCILL-B license under French law and
|
2016-03-15 01:00:27 +08:00
|
|
|
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](http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html)
|
|
|
|
as circulated by CEA, CNRS and INRIA
|
2015-11-27 18:39:27 +08:00
|
|
|
|
|
|
|
|
2016-03-14 19:36:46 +08:00
|
|
|
Credits
|
|
|
|
=======
|
|
|
|
|
2015-11-27 18:39:27 +08:00
|
|
|
"gmio" logo rendered with Prism font (thanks to Erik Yin !)
|