v0.2.1
Fast, portable C library for geometry input/output
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules
stl_io_options.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** gmio
3 ** Copyright Fougue (24 Jun. 2016)
4 ** contact@fougue.pro
5 **
6 ** This software is a reusable library whose purpose is to provide complete
7 ** I/O support for various CAD file formats (eg. STL)
8 **
9 ** This software is governed by the CeCILL-B license under French law and
10 ** abiding by the rules of distribution of free software. You can use,
11 ** modify and/ or redistribute the software under the terms of the CeCILL-B
12 ** license as circulated by CEA, CNRS and INRIA at the following URL
13 ** "http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html".
14 ****************************************************************************/
15 
23 #ifndef GMIO_STL_IO_OPTIONS_H
24 #define GMIO_STL_IO_OPTIONS_H
25 
26 #include "stl_global.h"
27 #include "stlb_header.h"
28 #include "../gmio_core/endian.h"
29 #include "../gmio_core/stream.h"
30 #include "../gmio_core/task_iface.h"
31 #include "../gmio_core/text_format.h"
32 
35 {
44 
47 
60  struct gmio_stream* stream,
62 };
63 
66 {
69 
72 
83 
92  const char* stla_solid_name;
93 
102 
110 
121 };
122 
123 #endif /* GMIO_STL_IO_OPTIONS_H */
124 
Options of function gmio_stl_read()
Definition: stl_io_options.h:34
enum gmio_float_text_format stla_float32_format
The format used when writting float values as strings.
Definition: stl_io_options.h:101
bool stl_write_triangles_only
Flag allowing to skip writting of any header/footer data, but just triangles.
Definition: stl_io_options.h:82
struct gmio_task_iface task_iface
See gmio_stl_read_options::task_iface.
Definition: stl_io_options.h:71
struct gmio_stlb_header stlb_header
Header data(80-bytes)
Definition: stl_io_options.h:120
struct gmio_memblock stream_memblock
Used by the stream to bufferize I/O operations.
Definition: stl_io_options.h:43
80-byte data at the beginning of any STL binary file
Definition: stlb_header.h:30
Declaration of gmio_stlb_header.
struct gmio_task_iface task_iface
Optional interface by which the I/O operation can be controlled.
Definition: stl_io_options.h:46
const char * stla_solid_name
Name of the solid to appear in solid [name] facet normal ...
Definition: stl_io_options.h:92
Global declarations for the STL module.
Options of function gmio_stl_write()
Definition: stl_io_options.h:65
int64_or_long gmio_streamsize_t
Type able to represent the size(in bytes) of a stream.
Definition: stream.h:44
struct gmio_memblock stream_memblock
See gmio_stl_read_options::stream_memblock.
Definition: stl_io_options.h:68
gmio_float_text_format
This enum defines the various formats to textually represent a float.
Definition: text_format.h:29
uint8_t stla_float32_prec
The maximum number of significant digits when writting float values.
Definition: stl_io_options.h:109
Stream that can get input from an arbitrary data source or can write output to an arbitrary data sink...
Definition: stream.h:65
gmio_streamsize_t(* func_stla_get_streamsize)(struct gmio_stream *stream, struct gmio_memblock *stream_memblock)
Optional pointer to a function that returns the size(in bytes) of the STL ascii data to read...
Definition: stl_io_options.h:59
Basic memory block.
Definition: memblock.h:45
Defines an interface through which a task can be controlled.
Definition: task_iface.h:29
Fougue © 2016