Cogs.Core
RRMultiSimplifyCommand.h
1#pragma once
2#include "Services/TaskManager.h"
3#include "Commands/EditorCommand.h"
4#include "RRTasks.h"
5
6namespace Cogs::Core {
7
9 {
11
12 void apply() override;
13 void undo() override {}
14 void beginModal() override;
15 void showGui() override;
16 bool continueModal() override;
17
18
19 float epsilon = 0.1f;
20 float error = 0.3f;
21 int steps = 5;
22 bool error_guided = false;
23
24 bool singleMesh = true;
25 bool debugColors = false;
26 NormalGenArgs normalGenArgs;
27
28 RRTaskState taskState;
29 std::vector<MeshHandle> originalMeshes;
30
31 std::atomic<bool> modal = false;
32 TaskId task = NoTask;
33
34 bool initTaskData();
35 void finishTaskData();
36 bool issueTask();
37 void waitForTask();
38
39 void showParameterGui();
40 void showProgressGui();
41 };
42
43}
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....
Abstract base class for all editor commands showing GUI in interactive mode.
Definition: EditorCommand.h:40
bool continueModal() override
Shall return true while the GUI should still be shown. False when.
void showGui() override
Display custom ImGUI.
void beginModal() override
Called when the command is initiated.
void apply() override
Run the command.
Task id struct used to identify unique Task instances.
Definition: TaskManager.h:20