stlb: localize variables in their direct scope
This commit is contained in:
parent
fb89b4ddcb
commit
1401860c83
@ -27,13 +27,9 @@ static void foug_stlb_read_facets(foug_stlb_geom_input_t* geom_input,
|
||||
|
||||
int foug_stlb_read(foug_stlb_read_args_t *args)
|
||||
{
|
||||
uint8_t progress_pc;
|
||||
uint8_t header_data[FOUG_STLB_HEADER_SIZE];
|
||||
uint32_t total_facet_count;
|
||||
size_t buffer_facet_count;
|
||||
size_t accum_facet_count_read;
|
||||
int error;
|
||||
size_t facet_count_read;
|
||||
|
||||
if (args->buffer == NULL)
|
||||
return FOUG_DATAX_NULL_BUFFER_ERROR;
|
||||
@ -41,11 +37,16 @@ int foug_stlb_read(foug_stlb_read_args_t *args)
|
||||
return FOUG_DATAX_INVALID_BUFFER_SIZE_ERROR;
|
||||
|
||||
/* Read header */
|
||||
if (foug_stream_read(&args->stream, header_data, 1, FOUG_STLB_HEADER_SIZE) != FOUG_STLB_HEADER_SIZE)
|
||||
return FOUG_STLB_READ_HEADER_WRONG_SIZE_ERROR;
|
||||
|
||||
if (args->geom_input.process_header_func != NULL)
|
||||
args->geom_input.process_header_func(&args->geom_input, header_data);
|
||||
{
|
||||
uint8_t header_data[FOUG_STLB_HEADER_SIZE];
|
||||
if (foug_stream_read(&args->stream, header_data, 1, FOUG_STLB_HEADER_SIZE)
|
||||
!= FOUG_STLB_HEADER_SIZE)
|
||||
{
|
||||
return FOUG_STLB_READ_HEADER_WRONG_SIZE_ERROR;
|
||||
}
|
||||
if (args->geom_input.process_header_func != NULL)
|
||||
args->geom_input.process_header_func(&args->geom_input, header_data);
|
||||
}
|
||||
|
||||
/* Read facet count */
|
||||
if (foug_stream_read(&args->stream, args->buffer, sizeof(uint32_t), 1) != 1)
|
||||
@ -56,12 +57,13 @@ int foug_stlb_read(foug_stlb_read_args_t *args)
|
||||
args->geom_input.begin_triangles_func(&args->geom_input, total_facet_count);
|
||||
|
||||
/* Read triangles */
|
||||
buffer_facet_count = args->buffer_size / FOUG_STLB_TRIANGLE_SIZE;
|
||||
accum_facet_count_read = 0;
|
||||
error = FOUG_DATAX_NO_ERROR;
|
||||
while (foug_datax_no_error(error) && accum_facet_count_read < total_facet_count) {
|
||||
facet_count_read = foug_stream_read(&args->stream,
|
||||
args->buffer, FOUG_STLB_TRIANGLE_SIZE, buffer_facet_count);
|
||||
const size_t facet_count_read = foug_stream_read(&args->stream,
|
||||
args->buffer,
|
||||
FOUG_STLB_TRIANGLE_SIZE,
|
||||
args->buffer_size / FOUG_STLB_TRIANGLE_SIZE);
|
||||
if (foug_stream_error(&args->stream) != 0)
|
||||
error = FOUG_DATAX_STREAM_ERROR;
|
||||
else if (facet_count_read > 0)
|
||||
@ -70,6 +72,8 @@ int foug_stlb_read(foug_stlb_read_args_t *args)
|
||||
break; /* Exit if no facet to read */
|
||||
|
||||
if (foug_datax_no_error(error)) {
|
||||
uint8_t progress_pc;
|
||||
|
||||
foug_stlb_read_facets(&args->geom_input, args->buffer, facet_count_read);
|
||||
accum_facet_count_read += facet_count_read;
|
||||
progress_pc = foug_percentage(0, total_facet_count, accum_facet_count_read);
|
||||
|
@ -27,7 +27,6 @@ static void foug_stlb_write_facets(const foug_stlb_geom_output_t* geom_output,
|
||||
|
||||
int foug_stlb_write(foug_stlb_write_args_t *args)
|
||||
{
|
||||
uint8_t header_data[FOUG_STLB_HEADER_SIZE];
|
||||
uint32_t facet_count;
|
||||
uint32_t i_facet;
|
||||
uint32_t buffer_facet_count;
|
||||
@ -44,13 +43,16 @@ int foug_stlb_write(foug_stlb_write_args_t *args)
|
||||
return FOUG_STLB_WRITE_NULL_GET_TRIANGLE_FUNC;
|
||||
|
||||
/* Write header */
|
||||
if (args->geom_output.get_header_func != NULL)
|
||||
args->geom_output.get_header_func(&args->geom_output, header_data);
|
||||
else
|
||||
memset(header_data, 0, FOUG_STLB_HEADER_SIZE);
|
||||
{
|
||||
uint8_t header_data[FOUG_STLB_HEADER_SIZE];
|
||||
if (args->geom_output.get_header_func != NULL)
|
||||
args->geom_output.get_header_func(&args->geom_output, header_data);
|
||||
else
|
||||
memset(header_data, 0, FOUG_STLB_HEADER_SIZE);
|
||||
|
||||
if (foug_stream_write(&args->stream, header_data, FOUG_STLB_HEADER_SIZE, 1) != 1)
|
||||
return FOUG_DATAX_STREAM_ERROR;
|
||||
if (foug_stream_write(&args->stream, header_data, FOUG_STLB_HEADER_SIZE, 1) != 1)
|
||||
return FOUG_DATAX_STREAM_ERROR;
|
||||
}
|
||||
|
||||
/* Write facet count */
|
||||
facet_count = args->geom_output.get_triangle_count_func(&args->geom_output);
|
||||
@ -81,12 +83,11 @@ int foug_stlb_write(foug_stlb_write_args_t *args)
|
||||
}
|
||||
|
||||
/* Task control */
|
||||
if (foug_datax_no_error(error)) {
|
||||
if (!foug_task_control_handle_progress(&args->task_control,
|
||||
foug_percentage(0, facet_count, i_facet + 1)))
|
||||
{
|
||||
error = FOUG_DATAX_TASK_STOPPED_ERROR;
|
||||
}
|
||||
if (foug_datax_no_error(error)
|
||||
&& !foug_task_control_handle_progress(&args->task_control,
|
||||
foug_percentage(0, facet_count, i_facet + 1)))
|
||||
{
|
||||
error = FOUG_DATAX_TASK_STOPPED_ERROR;
|
||||
}
|
||||
} /* end for */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user