History

first major pass at voxelEctomy

ZappoMan committed 11 years ago

Commit 4ea9bbc1 parent 2a129b665 files · +43 −5956Browse files

Showing the changes to interface/src/scripting/ClipboardScriptingInterface.cpp (1 of 65 files). Show all

Unified · Split

interface/src/scripting/ClipboardScriptingInterface.cpp+0−118
@@ -15,124 +15,6 @@ ClipboardScriptingInterface::ClipboardScriptingInterface() { · 14 unmodified lines
15 connect(this, SIGNAL(readyToImport()), Application::getInstance(), SLOT(importVoxels()));15 connect(this, SIGNAL(readyToImport()), Application::getInstance(), SLOT(importVoxels()));
16}16}
17 17
18void ClipboardScriptingInterface::cutVoxel(const VoxelDetail& sourceVoxel) {
19 cutVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
20}
21
22void ClipboardScriptingInterface::cutVoxel(float x, float y, float z, float s) {
23 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
24 y / (float)TREE_SCALE,
25 z / (float)TREE_SCALE,
26 s / (float)TREE_SCALE };
27 Application::getInstance()->cutVoxels(sourceVoxel);
28}
29
30void ClipboardScriptingInterface::copyVoxel(const VoxelDetail& sourceVoxel) {
31 copyVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
32}
33
34void ClipboardScriptingInterface::copyVoxel(float x, float y, float z, float s) {
35 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
36 y / (float)TREE_SCALE,
37 z / (float)TREE_SCALE,
38 s / (float)TREE_SCALE };
39 Application::getInstance()->copyVoxels(sourceVoxel);
40}
41
42void ClipboardScriptingInterface::pasteVoxel(const VoxelDetail& destinationVoxel) {
43 pasteVoxel(destinationVoxel.x, destinationVoxel.y, destinationVoxel.z, destinationVoxel.s);
44}
45
46void ClipboardScriptingInterface::pasteVoxel(float x, float y, float z, float s) {
47 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
48 y / (float)TREE_SCALE,
49 z / (float)TREE_SCALE,
50 s / (float)TREE_SCALE };
51
52 Application::getInstance()->pasteVoxels(sourceVoxel);
53}
54
55void ClipboardScriptingInterface::deleteVoxel(const VoxelDetail& sourceVoxel) {
56 deleteVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
57}
58
59void ClipboardScriptingInterface::deleteVoxel(float x, float y, float z, float s) {
60 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
61 y / (float)TREE_SCALE,
62 z / (float)TREE_SCALE,
63 s / (float)TREE_SCALE };
64 Application::getInstance()->deleteVoxels(sourceVoxel);
65}
66
67void ClipboardScriptingInterface::exportVoxel(const VoxelDetail& sourceVoxel) {
68 exportVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
69}
70
71void ClipboardScriptingInterface::exportVoxel(float x, float y, float z, float s) {
72 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
73 y / (float)TREE_SCALE,
74 z / (float)TREE_SCALE,
75 s / (float)TREE_SCALE };
76
77 Application::getInstance()->exportVoxels(sourceVoxel);
78}
79
80bool ClipboardScriptingInterface::importVoxels() {
81 qDebug() << "Importing ... ";
82 QEventLoop loop;
83 connect(Application::getInstance(), SIGNAL(importDone()), &loop, SLOT(quit()));
84 emit readyToImport();
85 loop.exec();
86
87 return Application::getInstance()->getImportSucceded();
88}
89
90bool ClipboardScriptingInterface::importVoxels(const QString& filename) {
91 qDebug() << "Importing ... ";
92
93 VoxelImporter* importer = Application::getInstance()->getVoxelImporter();
94
95 if (!importer->validImportFile(filename)) {
96 return false;
97 }
98
99 QEventLoop loop;
100 connect(importer, SIGNAL(importDone()), &loop, SLOT(quit()));
101 importer->import(filename);
102 loop.exec();
103
104 return true;
105}
106
107bool ClipboardScriptingInterface::importVoxels(const QString& filename, float x, float y, float z, float s) {
108 bool success = importVoxels(filename);
109
110 if (success) {
111 pasteVoxel(x, y, z, s);
112 }
113
114 return success;
115}
116
117bool ClipboardScriptingInterface::importVoxels(const QString& filename, const VoxelDetail& destinationVoxel) {
118 return importVoxels(filename, destinationVoxel.x, destinationVoxel.y, destinationVoxel.z, destinationVoxel.s);
119}
120
121void ClipboardScriptingInterface::nudgeVoxel(const VoxelDetail& sourceVoxel, const glm::vec3& nudgeVec) {
122 nudgeVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s, nudgeVec);
123}
124
125void ClipboardScriptingInterface::nudgeVoxel(float x, float y, float z, float s, const glm::vec3& nudgeVec) {
126 glm::vec3 nudgeVecInTreeSpace = nudgeVec / (float)TREE_SCALE;
127 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
128 y / (float)TREE_SCALE,
129 z / (float)TREE_SCALE,
130 s / (float)TREE_SCALE };
131
132 Application::getInstance()->nudgeVoxelsByVector(sourceVoxel, nudgeVecInTreeSpace);
133}
134
135
136bool ClipboardScriptingInterface::exportEntities(const QString& filename, float x, float y, float z, float s) {18bool ClipboardScriptingInterface::exportEntities(const QString& filename, float x, float y, float z, float s) {
137 return Application::getInstance()->exportEntities(filename, x, y, z, s);19 return Application::getInstance()->exportEntities(filename, x, y, z, s);
138}20}