stl: get rid of FOUG_SLTB_READ_WRITE_ALIGN_SAFE
This commit is contained in:
parent
5e53892a0d
commit
37af93feab
@ -18,20 +18,6 @@ FOUG_INLINE static void read_triangle_memcpy(const uint8_t* buffer,
|
|||||||
memcpy(triangle, buffer, FOUG_STLB_TRIANGLE_RAWSIZE);
|
memcpy(triangle, buffer, FOUG_STLB_TRIANGLE_RAWSIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void read_coords_alignsafe(const uint8_t* buffer, foug_stl_coords_t* coords)
|
|
||||||
{
|
|
||||||
memcpy(coords, buffer, FOUG_STL_COORDS_RAWSIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void read_triangle_alignsafe(const uint8_t* buffer, foug_stl_triangle_t* triangle)
|
|
||||||
{
|
|
||||||
read_coords_alignsafe(buffer, &triangle->normal);
|
|
||||||
read_coords_alignsafe(buffer + 1*FOUG_STL_COORDS_RAWSIZE, &triangle->v1);
|
|
||||||
read_coords_alignsafe(buffer + 2*FOUG_STL_COORDS_RAWSIZE, &triangle->v2);
|
|
||||||
read_coords_alignsafe(buffer + 3*FOUG_STL_COORDS_RAWSIZE, &triangle->v3);
|
|
||||||
memcpy(&triangle->attribute_byte_count, buffer + 4*FOUG_STL_COORDS_RAWSIZE, sizeof(uint16_t));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void foug_stlb_read_facets(foug_stl_geom_creator_t* creator,
|
static void foug_stlb_read_facets(foug_stl_geom_creator_t* creator,
|
||||||
const uint8_t* buffer,
|
const uint8_t* buffer,
|
||||||
const foug_stlb_readwrite_helper* rparams)
|
const foug_stlb_readwrite_helper* rparams)
|
||||||
@ -47,11 +33,7 @@ static void foug_stlb_read_facets(foug_stl_geom_creator_t* creator,
|
|||||||
|
|
||||||
for (i_facet = 0; i_facet < facet_count; ++i_facet) {
|
for (i_facet = 0; i_facet < facet_count; ++i_facet) {
|
||||||
/* Decode data */
|
/* Decode data */
|
||||||
#ifdef FOUG_STLB_READWRITE_ALIGNSAFE
|
|
||||||
read_triangle_alignsafe(buffer + buffer_offset, &triangle);
|
|
||||||
#else
|
|
||||||
read_triangle_memcpy(buffer + buffer_offset, &triangle);
|
read_triangle_memcpy(buffer + buffer_offset, &triangle);
|
||||||
#endif
|
|
||||||
buffer_offset += FOUG_STLB_TRIANGLE_RAWSIZE;
|
buffer_offset += FOUG_STLB_TRIANGLE_RAWSIZE;
|
||||||
|
|
||||||
if (rparams->fix_endian_func != NULL)
|
if (rparams->fix_endian_func != NULL)
|
||||||
|
@ -16,20 +16,6 @@ FOUG_INLINE static void write_triangle_memcpy(const foug_stl_triangle_t* triangl
|
|||||||
memcpy(buffer, triangle, FOUG_STLB_TRIANGLE_RAWSIZE);
|
memcpy(buffer, triangle, FOUG_STLB_TRIANGLE_RAWSIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_coords_alignsafe(const foug_stl_coords_t* coords, uint8_t* buffer)
|
|
||||||
{
|
|
||||||
memcpy(buffer, coords, FOUG_STL_COORDS_RAWSIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void write_triangle_alignsafe(const foug_stl_triangle_t* triangle, uint8_t* buffer)
|
|
||||||
{
|
|
||||||
write_coords_alignsafe(&triangle->normal, buffer);
|
|
||||||
write_coords_alignsafe(&triangle->v1, buffer + 1*FOUG_STL_COORDS_RAWSIZE);
|
|
||||||
write_coords_alignsafe(&triangle->v2, buffer + 2*FOUG_STL_COORDS_RAWSIZE);
|
|
||||||
write_coords_alignsafe(&triangle->v3, buffer + 3*FOUG_STL_COORDS_RAWSIZE);
|
|
||||||
memcpy(buffer + 4*FOUG_STL_COORDS_RAWSIZE, &triangle->attribute_byte_count, sizeof(uint16_t));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void foug_stlb_write_facets(const foug_stl_geom_t* geom,
|
static void foug_stlb_write_facets(const foug_stl_geom_t* geom,
|
||||||
uint8_t* buffer,
|
uint8_t* buffer,
|
||||||
const foug_stlb_readwrite_helper* wparams)
|
const foug_stlb_readwrite_helper* wparams)
|
||||||
@ -50,11 +36,7 @@ static void foug_stlb_write_facets(const foug_stl_geom_t* geom,
|
|||||||
if (wparams->fix_endian_func != NULL)
|
if (wparams->fix_endian_func != NULL)
|
||||||
wparams->fix_endian_func(&triangle);
|
wparams->fix_endian_func(&triangle);
|
||||||
|
|
||||||
#ifdef FOUG_STLB_READWRITE_ALIGNSAFE
|
|
||||||
write_triangle_alignsafe(&triangle, buffer + buffer_offset);
|
|
||||||
#else
|
|
||||||
write_triangle_memcpy(&triangle, buffer + buffer_offset);
|
write_triangle_memcpy(&triangle, buffer + buffer_offset);
|
||||||
#endif
|
|
||||||
|
|
||||||
buffer_offset += FOUG_STLB_TRIANGLE_RAWSIZE;
|
buffer_offset += FOUG_STLB_TRIANGLE_RAWSIZE;
|
||||||
} /* end for */
|
} /* end for */
|
||||||
|
Loading…
Reference in New Issue
Block a user