gmio/README.md

91 lines
3.6 KiB
Markdown
Raw Normal View History

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
[![Build Status](https://travis-ci.org/fougue/gmio.svg?branch=master)](https://travis-ci.org/fougue/gmio)
[![Build status](https://ci.appveyor.com/api/projects/status/0q4f69lqo6sw9108?svg=true)](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>
[![Coverage Status](https://coveralls.io/repos/fougue/gmio/badge.svg?branch=master&service=github)](https://coveralls.io/github/fougue/gmio?branch=master)
[![License](https://img.shields.io/badge/license-CeCILL--B-blue.svg)](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
2015-03-05 01:25:51 +08:00
support for various CAD file formats (eg. STL)
2015-11-25 17:18:49 +08:00
gmio aims to be [fast](https://github.com/fougue/gmio/wiki/4.-Benchmarks),
portable (ISO-C90 conformance) and feature-rich.
2015-03-05 01:25:51 +08:00
Main highlights:
2015-04-01 22:07:00 +08:00
2015-11-25 17:18:49 +08:00
* [x] "Abstract" streams that does not tie the user to C stream (`FILE*`).
2015-05-28 15:40:24 +08:00
gmio provides a general stream structure based on callbacks, so that
2015-04-01 22:07:00 +08:00
any kind of device can be used (memory, file, socket, ...)
2015-11-25 17:18:49 +08:00
* [x] Operations can be easily aborted
* [x] Buffering of input/ouput for efficient device usage
* [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
==========================
Current version only supports the STL file format (STereoLithography), but support is complete :
2015-04-01 22:07:00 +08:00
2015-11-25 17:18:49 +08:00
* [x] Binary(little/big endian) and ASCII formats
* [x] Header data and "attribute byte count" for binary format
* [x] Name of solid for ASCII format
* [x] Detection of the input data format
* [x] Ability to specify the text formatting to represent float values
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
2015-11-25 17:18:49 +08:00
* [x] The user keeps its own geometry data structures, no conversion needed.
2015-04-01 22:07:00 +08:00
This reduces the effort so that the user just specifies callbacks for
retrieval/creation of geometry data
2015-11-25 17:18:49 +08:00
* [x] No dynamic memory allocations
* [x] Extended support of OpenCascade's `StlMesh_Mesh`
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
How to report a bug
===================
2014-01-21 23:18:17 +08:00
2015-05-28 15:40:24 +08:00
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
2015-05-06 15:39:37 +08:00
open to the public at https://github.com/fougue/gmio/issues.
2014-01-21 23:18:17 +08:00
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
2015-05-28 15:40:24 +08:00
your operating system; the version of gmio you are using, and
2014-01-21 23:18:17 +08:00
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
2014-01-21 23:18:17 +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
2014-01-21 23:18:17 +08:00
license as circulated by CEA, CNRS and INRIA at the following URL
2015-03-30 15:05:25 +08:00
http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
2015-11-27 18:39:27 +08:00
"gmio" logo rendered with Prism font (thanks to Erik Yin !)