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}
MRVIEWER_API void forceSetTaskName(std::string taskName)
set the current task's name without auto-updating progress value
std::function< std::function< void()>() > TaskWithMainThreadPostProcessing
function that returns post-processing function to be called in main UI thread
Definition MRProgressBar.h:18
MRVIEWER_API bool isCanceled()
MRVIEWER_API bool setProgress(float p)
MRVIEWER_API float getProgress()
MRVIEWER_API bool callBackSetProgress(float p)
MRVIEWER_API void onFrameEnd()
call this function on frame end
MRVIEWER_API bool simpleCallBackSetProgress(float p)
MRVIEWER_API float getLastOperationTime()
returns time of last operation in seconds, returns -1.0f if no operation was performed
MRVIEWER_API void orderWithMainThreadPostProcessing(const char *name, TaskWithMainThreadPostProcessing task, int taskCount=1)
MRVIEWER_API void orderWithManualFinish(const char *name, std::function< void()> task, int taskCount=1)
MRVIEWER_API bool isOrdered()
returns true if progress bar was ordered and not finished
MRVIEWER_API void setup()
this function should be called only once for each frame (it is called in MR::Menu (MR::RibbonMenu))
MRVIEWER_API void resetTaskName()
MRVIEWER_API void nextTask()
MRVIEWER_API const std::string & getLastOperationTitle()
returns title of the last operation
MRVIEWER_API bool isFinished()
MRVIEWER_API void order(const char *name, const std::function< void()> &task, int taskCount=1)
MRVIEWER_API void setTaskCount(int n)
MRVIEWER_API void printTimingTree(double minTimeSec=0.1)
MRVIEWER_API void finish()
only for bindings generation
Definition MRCameraOrientationPlugin.h:8