TerraForge3D  2.3.1
3D Terrain And Landscape Generator
MeshGeneratorManager.h
1#pragma once
2
4class Model;
8
9class CPUNodeEditor;
10
11
12
13#include "Base/OpenCL/ComputeKernel.h"
14#include "json/json.hpp"
15
16
17#include <vector>
18
19#include <atomic>
20
22{
23public:
24
27
28 void Generate();
29 void GenerateSync();
30 void ShowSettings();
31
32 void GenerateForTerrain();
33 void GenerateForCustomBase();
34
35 void ExecuteKernels();
36 void ExecuteCPUGenerators();
37
38 void LoadKernels();
39
40 nlohmann::json Save();
41 void Load(nlohmann::json data);
42
43 double time = 0;
44 bool windowStat = true;
45
46private:
47 ApplicationState *appState;
48 Model *tmpModel;
49 std::atomic<bool> *isRemeshing;
50 ComputeKernel *kernels;
51 ClearMeshGenerator *clearMeshGen;
52 std::vector<CPUNoiseLayersGenerator *> cpuNoiseLayers;
53 std::vector<GPUNoiseLayerGenerator *> gpuNoiseLayers;
54 std::vector<CPUNodeEditor *> cpuNodeEditors;
55};
Definition: Model.h:9
a class to store JSON values
Definition: json.hpp:17860