Blender V5.0
Progress Class Reference

#include <progress.h>

Public Member Functions

 Progress ()
 Progress (Progress &progress)
Progressoperator= (Progress &progress)
void reset ()
void set_cancel (const string &cancel_message_)
bool get_cancel () const
string get_cancel_message () const
void set_cancel_callback (std::function< void()> function)
void set_error (const string &error_message_)
bool get_error () const
string get_error_message () const
void set_start_time ()
void set_render_start_time ()
void set_time_limit (const double time_limit_)
void add_skip_time (const scoped_timer &start_timer, bool only_render)
void get_time (double &total_time_, double &render_time_) const
void set_end_time ()
void reset_sample ()
void set_total_pixel_samples (const uint64_t total_pixel_samples_)
double get_progress () const
void add_samples (const uint64_t pixel_samples_, int tile_sample)
void add_samples_update (const uint64_t pixel_samples_, int tile_sample)
void add_finished_tile (bool denoised)
int get_current_sample () const
int get_rendered_tiles () const
int get_denoised_tiles () const
void set_status (const string &status_, const string &substatus_="")
void set_substatus (const string &substatus_)
void set_sync_status (const string &status_, const string &substatus_="")
void set_sync_substatus (const string &substatus_)
void get_status (string &status_, string &substatus_) const
void set_update ()
void set_update_callback (std::function< void()> function)

Protected Attributes

thread_mutex progress_mutex
thread_mutex update_mutex
std::function< void()> update_cb = nullptr
std::function< void()> cancel_cb = nullptr
uint64_t pixel_samples = 0
uint64_t total_pixel_samples = 0
int current_tile_sample = 0
int rendered_tiles = 0
int denoised_tiles = 0
double start_time = 0.0
double render_start_time = 0.0
double time_limit = 0.0
double end_time = 0.0
string status
string substatus
string sync_status
string sync_substatus
volatile bool cancel = false
string cancel_message
volatile bool error = false
string error_message

Detailed Description

Definition at line 21 of file progress.h.

Constructor & Destructor Documentation

◆ Progress() [1/2]

Progress::Progress ( )
inline

Definition at line 23 of file progress.h.

References render_start_time, start_time, status, and time_dt().

Referenced by operator=(), and Progress().

◆ Progress() [2/2]

Progress::Progress ( Progress & progress)
inline

Definition at line 30 of file progress.h.

References Progress().

Member Function Documentation

◆ add_finished_tile()

void Progress::add_finished_tile ( bool denoised)
inline

Definition at line 214 of file progress.h.

References denoised_tiles, lock, progress_mutex, and rendered_tiles.

◆ add_samples()

void Progress::add_samples ( const uint64_t pixel_samples_,
int tile_sample )
inline

Definition at line 200 of file progress.h.

References current_tile_sample, lock, pixel_samples, and progress_mutex.

Referenced by add_samples_update().

◆ add_samples_update()

void Progress::add_samples_update ( const uint64_t pixel_samples_,
int tile_sample )
inline

Definition at line 208 of file progress.h.

References add_samples(), and set_update().

◆ add_skip_time()

void Progress::add_skip_time ( const scoped_timer & start_timer,
bool only_render )
inline

Definition at line 143 of file progress.h.

References scoped_timer::get_start(), render_start_time, start_time, and time_dt().

◆ get_cancel()

◆ get_cancel_message()

string Progress::get_cancel_message ( ) const
inline

Definition at line 86 of file progress.h.

References cancel_message, lock, and progress_mutex.

◆ get_current_sample()

int Progress::get_current_sample ( ) const
inline

Definition at line 226 of file progress.h.

References current_tile_sample, lock, and progress_mutex.

Referenced by operator=().

◆ get_denoised_tiles()

int Progress::get_denoised_tiles ( ) const
inline

Definition at line 240 of file progress.h.

References denoised_tiles, lock, and progress_mutex.

◆ get_error()

bool Progress::get_error ( ) const
inline

Definition at line 108 of file progress.h.

References error.

◆ get_error_message()

string Progress::get_error_message ( ) const
inline

Definition at line 113 of file progress.h.

References error_message, lock, and progress_mutex.

◆ get_progress()

double Progress::get_progress ( ) const
inline

◆ get_rendered_tiles()

int Progress::get_rendered_tiles ( ) const
inline

Definition at line 234 of file progress.h.

References lock, progress_mutex, and rendered_tiles.

◆ get_status()

void Progress::get_status ( string & status_,
string & substatus_ ) const
inline

Definition at line 290 of file progress.h.

References lock, progress_mutex, status, substatus, sync_status, and sync_substatus.

Referenced by HdCyclesDelegate::GetRenderStats(), and operator=().

◆ get_time()

void Progress::get_time ( double & total_time_,
double & render_time_ ) const
inline

Definition at line 153 of file progress.h.

References end_time, lock, progress_mutex, render_start_time, start_time, and time_dt().

Referenced by HdCyclesDelegate::GetRenderStats().

◆ operator=()

Progress & Progress::operator= ( Progress & progress)
inline

◆ reset()

◆ reset_sample()

void Progress::reset_sample ( )
inline

◆ set_cancel()

void Progress::set_cancel ( const string & cancel_message_)
inline

Definition at line 70 of file progress.h.

References cancel, cancel_message, lock, and progress_mutex.

◆ set_cancel_callback()

void Progress::set_cancel_callback ( std::function< void()> function)
inline

Definition at line 92 of file progress.h.

References cancel_cb.

◆ set_end_time()

void Progress::set_end_time ( )
inline

Definition at line 163 of file progress.h.

References end_time, and time_dt().

◆ set_error()

void Progress::set_error ( const string & error_message_)
inline

◆ set_render_start_time()

void Progress::set_render_start_time ( )
inline

Definition at line 129 of file progress.h.

References lock, progress_mutex, render_start_time, and time_dt().

◆ set_start_time()

void Progress::set_start_time ( )
inline

Definition at line 121 of file progress.h.

References end_time, lock, progress_mutex, start_time, and time_dt().

◆ set_status()

◆ set_substatus()

void Progress::set_substatus ( const string & substatus_)
inline

Definition at line 259 of file progress.h.

References lock, progress_mutex, set_update(), and substatus.

Referenced by BVH2::build(), Octree::build(), and BVH2::refit().

◆ set_sync_status()

void Progress::set_sync_status ( const string & status_,
const string & substatus_ = "" )
inline

Definition at line 269 of file progress.h.

References lock, progress_mutex, set_update(), sync_status, and sync_substatus.

◆ set_sync_substatus()

void Progress::set_sync_substatus ( const string & substatus_)
inline

Definition at line 280 of file progress.h.

References lock, progress_mutex, set_update(), and sync_substatus.

◆ set_time_limit()

void Progress::set_time_limit ( const double time_limit_)
inline

Definition at line 136 of file progress.h.

References lock, progress_mutex, and time_limit.

◆ set_total_pixel_samples()

void Progress::set_total_pixel_samples ( const uint64_t total_pixel_samples_)
inline

Definition at line 178 of file progress.h.

References lock, progress_mutex, and total_pixel_samples.

◆ set_update()

void Progress::set_update ( )
inline

◆ set_update_callback()

void Progress::set_update_callback ( std::function< void()> function)
inline

Definition at line 314 of file progress.h.

References update_cb.

Member Data Documentation

◆ cancel

volatile bool Progress::cancel = false
protected

Definition at line 348 of file progress.h.

Referenced by get_cancel(), reset(), set_cancel(), and set_error().

◆ cancel_cb

std::function<void()> Progress::cancel_cb = nullptr
protected

Definition at line 323 of file progress.h.

Referenced by get_cancel(), and set_cancel_callback().

◆ cancel_message

string Progress::cancel_message
protected

Definition at line 349 of file progress.h.

Referenced by get_cancel_message(), reset(), set_cancel(), and set_error().

◆ current_tile_sample

int Progress::current_tile_sample = 0
protected

Definition at line 332 of file progress.h.

Referenced by add_samples(), get_current_sample(), operator=(), reset(), and reset_sample().

◆ denoised_tiles

int Progress::denoised_tiles = 0
protected

Definition at line 336 of file progress.h.

Referenced by add_finished_tile(), get_denoised_tiles(), reset(), and reset_sample().

◆ end_time

double Progress::end_time = 0.0
protected

Definition at line 340 of file progress.h.

Referenced by get_time(), reset(), set_end_time(), and set_start_time().

◆ error

volatile bool Progress::error = false
protected

Definition at line 351 of file progress.h.

Referenced by get_error(), reset(), and set_error().

◆ error_message

string Progress::error_message
protected

Definition at line 352 of file progress.h.

Referenced by get_error_message(), reset(), and set_error().

◆ pixel_samples

uint64_t Progress::pixel_samples = 0
protected

Definition at line 329 of file progress.h.

Referenced by add_samples(), get_progress(), operator=(), reset(), and reset_sample().

◆ progress_mutex

◆ render_start_time

double Progress::render_start_time = 0.0
protected

◆ rendered_tiles

int Progress::rendered_tiles = 0
protected

Definition at line 336 of file progress.h.

Referenced by add_finished_tile(), get_rendered_tiles(), reset(), and reset_sample().

◆ start_time

double Progress::start_time = 0.0
protected

Definition at line 338 of file progress.h.

Referenced by add_skip_time(), get_time(), Progress(), reset(), and set_start_time().

◆ status

string Progress::status
protected

Definition at line 342 of file progress.h.

Referenced by get_status(), operator=(), Progress(), reset(), and set_status().

◆ substatus

string Progress::substatus
protected

Definition at line 343 of file progress.h.

Referenced by get_status(), operator=(), reset(), set_status(), and set_substatus().

◆ sync_status

string Progress::sync_status
protected

Definition at line 345 of file progress.h.

Referenced by get_status(), reset(), and set_sync_status().

◆ sync_substatus

string Progress::sync_substatus
protected

Definition at line 346 of file progress.h.

Referenced by get_status(), reset(), set_sync_status(), and set_sync_substatus().

◆ time_limit

double Progress::time_limit = 0.0
protected

Definition at line 338 of file progress.h.

Referenced by get_progress(), reset(), and set_time_limit().

◆ total_pixel_samples

uint64_t Progress::total_pixel_samples = 0
protected

Definition at line 329 of file progress.h.

Referenced by get_progress(), operator=(), reset(), and set_total_pixel_samples().

◆ update_cb

std::function<void()> Progress::update_cb = nullptr
protected

Definition at line 322 of file progress.h.

Referenced by set_update(), and set_update_callback().

◆ update_mutex

thread_mutex Progress::update_mutex
mutableprotected

Definition at line 321 of file progress.h.

Referenced by set_update().


The documentation for this class was generated from the following file: