Cleanup: Alembic: use pointers instead of references when passing progress variables
Using pointers instead of references when passing progress variables makes the C++ code more in line with the C code (as it doesn't transform pointer parameters to reference parameters). Also makes it easier to spot when a common Blender pattern is implemented incorrectly (fix will be in the next commit).
This commit is contained in:
@@ -263,7 +263,7 @@ void AbcExporter::getFrameSet(unsigned int nr_of_samples, std::set<double> &fram
|
||||
}
|
||||
}
|
||||
|
||||
void AbcExporter::operator()(float &progress, bool &was_canceled)
|
||||
void AbcExporter::operator()(float *progress, bool *was_canceled)
|
||||
{
|
||||
std::string scene_name;
|
||||
|
||||
@@ -332,10 +332,10 @@ void AbcExporter::operator()(float &progress, bool &was_canceled)
|
||||
size_t i = 0;
|
||||
|
||||
for (; begin != end; ++begin) {
|
||||
progress = (++i / size);
|
||||
*progress = (++i / size);
|
||||
|
||||
if (G.is_break) {
|
||||
was_canceled = true;
|
||||
*was_canceled = true;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ class AbcExporter {
|
||||
AbcExporter(Main *bmain, const char *filename, ExportSettings &settings);
|
||||
~AbcExporter();
|
||||
|
||||
void operator()(float &progress, bool &was_canceled);
|
||||
void operator()(float *progress, bool *was_canceled);
|
||||
|
||||
protected:
|
||||
void getShutterSamples(unsigned int nr_of_samples,
|
||||
|
||||
@@ -261,7 +261,7 @@ static void export_startjob(void *customdata, short *stop, short *do_update, flo
|
||||
const int orig_frame = CFRA;
|
||||
|
||||
data->was_canceled = false;
|
||||
exporter(*data->progress, data->was_canceled);
|
||||
exporter(progress, &data->was_canceled);
|
||||
|
||||
if (CFRA != orig_frame) {
|
||||
CFRA = orig_frame;
|
||||
|
||||
Reference in New Issue
Block a user