tests: move gmio_stlb_header_to_printable_str() to gmio_stl/stlb_header.h
This commit is contained in:
parent
0d7eb270bc
commit
d0b213a652
@ -30,7 +30,6 @@
|
|||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
|
|
||||||
#include "stl_format.h"
|
#include "stl_format.h"
|
||||||
#include "stlb_header.h"
|
#include "stlb_header.h"
|
||||||
|
|
||||||
@ -47,12 +46,12 @@ struct gmio_stl_infos
|
|||||||
|
|
||||||
/*! STL ascii only: name of the solid
|
/*! STL ascii only: name of the solid
|
||||||
*
|
*
|
||||||
* The pointer has to be set by the caller of gmio_stl_infos_get() */
|
* The pointer has to be set before calling gmio_stl_infos_get() */
|
||||||
char* stla_solidname;
|
char* stla_solidname;
|
||||||
|
|
||||||
/*! STL ascii only: maximum length(capacity) of stla_solidname
|
/*! STL ascii only: maximum length(capacity) of stla_solidname
|
||||||
*
|
*
|
||||||
* The value has to be set by the caller of gmio_stl_infos_get()
|
* The value has to be set before calling gmio_stl_infos_get()
|
||||||
*/
|
*/
|
||||||
size_t stla_solidname_maxlen;
|
size_t stla_solidname_maxlen;
|
||||||
|
|
||||||
@ -92,8 +91,7 @@ struct gmio_stl_infos_get_args
|
|||||||
/*! Optional memory block used by the stream to bufferize read operations
|
/*! Optional memory block used by the stream to bufferize read operations
|
||||||
*
|
*
|
||||||
* If null, then a temporary memblock is created with the global default
|
* If null, then a temporary memblock is created with the global default
|
||||||
* constructor function (see gmio_memblock_default())
|
* constructor function (see gmio_memblock_default()) */
|
||||||
*/
|
|
||||||
struct gmio_memblock stream_memblock;
|
struct gmio_memblock stream_memblock;
|
||||||
|
|
||||||
/*! Output informations */
|
/*! Output informations */
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "stlb_header.h"
|
#include "stlb_header.h"
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
struct gmio_stlb_header gmio_stlb_header_str(const char* str)
|
struct gmio_stlb_header gmio_stlb_header_str(const char* str)
|
||||||
@ -24,3 +25,14 @@ struct gmio_stlb_header gmio_stlb_header_str(const char* str)
|
|||||||
strncpy((char*)header.data, str, GMIO_STLB_HEADER_SIZE);
|
strncpy((char*)header.data, str, GMIO_STLB_HEADER_SIZE);
|
||||||
return header;
|
return header;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gmio_stlb_header_to_printable_str(
|
||||||
|
const struct gmio_stlb_header* header, char* str, char replacement)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
for (i = 0; i < GMIO_STLB_HEADER_SIZE; ++i) {
|
||||||
|
const int header_char = (int)header->data[i];
|
||||||
|
str[i] = isprint(header_char) ? (char)header_char : replacement;
|
||||||
|
}
|
||||||
|
str[GMIO_STLB_HEADER_SIZE] = 0;
|
||||||
|
}
|
||||||
|
@ -44,6 +44,16 @@ GMIO_C_LINKAGE_BEGIN
|
|||||||
GMIO_LIBSTL_EXPORT
|
GMIO_LIBSTL_EXPORT
|
||||||
struct gmio_stlb_header gmio_stlb_header_str(const char* str);
|
struct gmio_stlb_header gmio_stlb_header_str(const char* str);
|
||||||
|
|
||||||
|
/*! Copies \p header into C string \p str
|
||||||
|
*
|
||||||
|
* It replaces non-printable bytes with \p replacement char.
|
||||||
|
* \p str must be at least \c GMIO_STLB_HEADER_SIZE long, a terminating null
|
||||||
|
* character ('\0') is copied at position \c GMIO_STLB_HEADER_SIZE
|
||||||
|
*/
|
||||||
|
GMIO_LIBSTL_EXPORT
|
||||||
|
void gmio_stlb_header_to_printable_str(
|
||||||
|
const struct gmio_stlb_header* header, char* str, char replacement);
|
||||||
|
|
||||||
GMIO_C_LINKAGE_END
|
GMIO_C_LINKAGE_END
|
||||||
|
|
||||||
#endif /* GMIO_STLB_HEADER_H */
|
#endif /* GMIO_STLB_HEADER_H */
|
||||||
|
@ -115,18 +115,6 @@ struct gmio_stl_mesh gmio_stl_data_mesh(const struct gmio_stl_data *data)
|
|||||||
return mesh;
|
return mesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gmio_stlb_header_to_printable_string(
|
|
||||||
const struct gmio_stlb_header *header, char *str, char replacement)
|
|
||||||
{
|
|
||||||
size_t i = 0;
|
|
||||||
for (; i < GMIO_STLB_HEADER_SIZE; ++i) {
|
|
||||||
str[i] = isprint((int)header->data[i]) ?
|
|
||||||
(char) header->data[i] :
|
|
||||||
replacement;
|
|
||||||
}
|
|
||||||
str[GMIO_STLB_HEADER_SIZE] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
gmio_bool_t gmio_stl_coords_equal(
|
gmio_bool_t gmio_stl_coords_equal(
|
||||||
const struct gmio_stl_coords *lhs,
|
const struct gmio_stl_coords *lhs,
|
||||||
const struct gmio_stl_coords *rhs,
|
const struct gmio_stl_coords *rhs,
|
||||||
|
@ -41,9 +41,6 @@ GMIO_INLINE gmio_bool_t gmio_stlb_header_equal(
|
|||||||
return memcmp(lhs, rhs, GMIO_STLB_HEADER_SIZE) == 0;
|
return memcmp(lhs, rhs, GMIO_STLB_HEADER_SIZE) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gmio_stlb_header_to_printable_string(
|
|
||||||
const struct gmio_stlb_header* header, char* str, char replacement);
|
|
||||||
|
|
||||||
/*! Callback for gmio_stl_mesh_creator::func_add_triangle that does
|
/*! Callback for gmio_stl_mesh_creator::func_add_triangle that does
|
||||||
* nothing(ie "no operation") */
|
* nothing(ie "no operation") */
|
||||||
void gmio_stl_nop_add_triangle(
|
void gmio_stl_nop_add_triangle(
|
||||||
|
@ -325,7 +325,7 @@ const char* test_stla_write()
|
|||||||
{
|
{
|
||||||
struct gmio_stl_write_args write = {0};
|
struct gmio_stl_write_args write = {0};
|
||||||
write.mesh = gmio_stl_data_mesh(&data);
|
write.mesh = gmio_stl_data_mesh(&data);
|
||||||
gmio_stlb_header_to_printable_string(&data.header, &header_str[0], '_');
|
gmio_stlb_header_to_printable_str(&data.header, &header_str[0], '_');
|
||||||
write.options.stla_solid_name = &header_str[0];
|
write.options.stla_solid_name = &header_str[0];
|
||||||
write.options.stla_float32_prec = 7;
|
write.options.stla_float32_prec = 7;
|
||||||
write.options.stla_float32_format =
|
write.options.stla_float32_format =
|
||||||
|
Loading…
Reference in New Issue
Block a user