Update README

This commit is contained in:
Hugues Delorme 2016-03-11 12:43:51 +01:00
parent d5133928c4
commit de2461c7fe

View File

@ -15,38 +15,49 @@ C library for geometry input/output
=========================================== ===========================================
gmio is a reusable C library whose purpose is to provide complete I/O gmio is a reusable C library whose purpose is to provide complete I/O
support for various CAD file formats (eg. STL) support for various CAD file formats (eg. [STL](https://en.wikipedia.org/wiki/STL_%28file_format%29))
gmio aims to be [fast](https://github.com/fougue/gmio/wiki/4.-Benchmarks), gmio aims to be [fast](https://github.com/fougue/gmio/wiki/4.-Benchmarks),
portable (ISO-C90 conformance) and feature-rich. portable (ISO-C90 conformance) and feature-rich.
Main highlights: Main highlights:
* [x] "Abstract" streams that does not tie the user to C stream (`FILE*`). * [x] "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, ...) gmio provides a general stream structure based on callbacks, so that any API
* [x] Operations can be easily aborted can be used (C++ streams, QFile, ...)
* [x] Buffering of input/ouput for efficient device usage * [x] Buffering of input/ouput for efficient device usage
* [x] Operations can be easily aborted
* [x] Available under the CeCILL-B license, which is fully BSD compatible * [x] Available under the CeCILL-B license, which is fully BSD compatible
Supported CAD files format Supported CAD files format
========================== ==========================
Current version only supports the STL file format (STereoLithography), but support is complete : Current version only supports the STL file format (STereoLithography), but
support is complete :
* [x] Binary(little/big endian) and ASCII formats * [x] Binary(little/big endian) and ASCII formats
* [x] Header data and "attribute byte count" for binary format * [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] Detection of the input data format
* [x] Ability to specify the text formatting to represent float values * [x] Ability to specify the text formatting to represent float values
* [x] Retrieval of infomations about STL contents (facet count, name of solid, ...)
In addition, the STL module has the following advatanges: In addition, the STL module has the following advatanges:
* [x] The user keeps its own geometry data structures, no conversion needed. * [x] The user keeps its own geometry data structures, no conversion needed
This reduces the effort so that the user just specifies callbacks for This reduces the effort so that the user just specifies callbacks for
retrieval/creation of geometry data retrieval/creation of mesh data
* [x] No dynamic memory allocations
* [x] Extended support of OpenCascade's `StlMesh_Mesh` * [x] Constant memory footprint
Memory consumption is indenpendant of the mesh size ie. the amount of memory
used remains constant during the I/O operation
* [x] Extended support of OpenCascade
`StlMesh_Mesh` objects can be used seamlessly with gmio
Building gmio Building gmio