MeshLib C++ Docs
Loading...
Searching...
No Matches
MRProgressBar.h
Go to the documentation of this file.
1#pragma once
2
3#include "exports.h"
4#include <functional>
5#include <string>
6
7namespace MR
8{
11
12
14namespace ProgressBar
15{
16
18using TaskWithMainThreadPostProcessing = std::function< std::function<void()>() >;
19
21MRVIEWER_API void setup();
22
24MRVIEWER_API void onFrameEnd();
25
28MRVIEWER_API void order(const char * name, const std::function<void()>& task, int taskCount = 1 );
29
32MRVIEWER_API void orderWithMainThreadPostProcessing( const char* name, TaskWithMainThreadPostProcessing task, int taskCount = 1 );
33
36MRVIEWER_API void orderWithManualFinish( const char * name, std::function<void ()> task, int taskCount = 1 );
37
38MRVIEWER_API bool isCanceled();
39
40MRVIEWER_API bool isFinished();
41
42MRVIEWER_API float getProgress();
43
45MRVIEWER_API float getLastOperationTime();
46
48MRVIEWER_API const std::string& getLastOperationTitle();
49
50MRVIEWER_API void nextTask();
51MRVIEWER_API void nextTask(const char * s);
52
53MRVIEWER_API void setTaskCount( int n );
54
56MRVIEWER_API void forceSetTaskName( std::string taskName );
57MRVIEWER_API void resetTaskName();
58
59MRVIEWER_API void finish();
60
62MRVIEWER_API bool isOrdered();
63
67MRVIEWER_API bool setProgress( float p );
68
72MRVIEWER_API bool callBackSetProgress( float p );
73
77MRVIEWER_API bool simpleCallBackSetProgress( float p );
78
81MRVIEWER_API void printTimingTree( double minTimeSec = 0.1 );
82
83}
84
85}
bool isOrdered()
returns true if progress bar was ordered and not finished
std::function< std::function< void()>() > TaskWithMainThreadPostProcessing
function that returns post-processing function to be called in main UI thread
Definition MRProgressBar.h:18
void order(const char *name, const std::function< void()> &task, int taskCount=1)
void resetTaskName()
void forceSetTaskName(std::string taskName)
set the current task's name without auto-updating progress value
void setup()
this function should be called only once for each frame (it is called in MR::Menu (MR::RibbonMenu))
void orderWithManualFinish(const char *name, std::function< void()> task, int taskCount=1)
float getProgress()
void printTimingTree(double minTimeSec=0.1)
bool setProgress(float p)
float getLastOperationTime()
returns time of last operation in seconds, returns -1.0f if no operation was performed
bool callBackSetProgress(float p)
void orderWithMainThreadPostProcessing(const char *name, TaskWithMainThreadPostProcessing task, int taskCount=1)
const std::string & getLastOperationTitle()
returns title of the last operation
void setTaskCount(int n)
bool simpleCallBackSetProgress(float p)
void onFrameEnd()
call this function on frame end
Utilities to show application progress bar for long operations.
Definition MRProgressBar.h:15
only for bindings generation
Definition MRCameraOrientationPlugin.h:8