History

added Clipboard.nudgeVoxel() and added support for calling clipboard opertations with VoxelDetail as well as xyzs

ZappoMan committed 12 years ago

Commit 0e8cab71 parent 91d79f65 files · +72 −20Browse files

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

Unified · Split

interface/src/ClipboardScriptingInterface.cpp+38−5
@@ -11,7 +11,11 @@ · 10 unmodified lines
1111 ClipboardScriptingInterface::ClipboardScriptingInterface() {
1212 }
1313
14−void ClipboardScriptingInterface::cutVoxels(float x, float y, float z, float s) {
14+void ClipboardScriptingInterface::cutVoxel(const VoxelDetail& sourceVoxel) {
15+ cutVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
16+}
17+
18+void ClipboardScriptingInterface::cutVoxel(float x, float y, float z, float s) {
1519 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
1620 y / (float)TREE_SCALE,
1721 z / (float)TREE_SCALE,
@@ -19,7 +23,11 @@ void ClipboardScriptingInterface::cutVoxels(float x, float y, float z, float s) · 1 unmodified line
1923 Application::getInstance()->cutVoxels(sourceVoxel);
2024 }
2125
22−void ClipboardScriptingInterface::copyVoxels(float x, float y, float z, float s) {
26+void ClipboardScriptingInterface::copyVoxel(const VoxelDetail& sourceVoxel) {
27+ copyVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
28+}
29+
30+void ClipboardScriptingInterface::copyVoxel(float x, float y, float z, float s) {
2331 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
2432 y / (float)TREE_SCALE,
2533 z / (float)TREE_SCALE,
@@ -27,7 +35,11 @@ void ClipboardScriptingInterface::copyVoxels(float x, float y, float z, float s) · 1 unmodified line
2735 Application::getInstance()->copyVoxels(sourceVoxel);
2836 }
2937
30−void ClipboardScriptingInterface::pasteVoxels(float x, float y, float z, float s) {
38+void ClipboardScriptingInterface::pasteVoxel(const VoxelDetail& destinationVoxel) {
39+ pasteVoxel(destinationVoxel.x, destinationVoxel.y, destinationVoxel.z, destinationVoxel.s);
40+}
41+
42+void ClipboardScriptingInterface::pasteVoxel(float x, float y, float z, float s) {
3143 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
3244 y / (float)TREE_SCALE,
3345 z / (float)TREE_SCALE,
@@ -36,7 +48,11 @@ void ClipboardScriptingInterface::pasteVoxels(float x, float y, float z, float s · 2 unmodified lines
3648 Application::getInstance()->pasteVoxels(sourceVoxel);
3749 }
3850
39−void ClipboardScriptingInterface::deleteVoxels(float x, float y, float z, float s) {
51+void ClipboardScriptingInterface::deleteVoxel(const VoxelDetail& sourceVoxel) {
52+ deleteVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
53+}
54+
55+void ClipboardScriptingInterface::deleteVoxel(float x, float y, float z, float s) {
4056 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
4157 y / (float)TREE_SCALE,
4258 z / (float)TREE_SCALE,
@@ -44,7 +60,11 @@ void ClipboardScriptingInterface::deleteVoxels(float x, float y, float z, float · 1 unmodified line
4460 Application::getInstance()->deleteVoxels(sourceVoxel);
4561 }
4662
47−void ClipboardScriptingInterface::exportVoxels(float x, float y, float z, float s) {
63+void ClipboardScriptingInterface::exportVoxel(const VoxelDetail& sourceVoxel) {
64+ exportVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s);
65+}
66+
67+void ClipboardScriptingInterface::exportVoxel(float x, float y, float z, float s) {
4868 VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
4969 y / (float)TREE_SCALE,
5070 z / (float)TREE_SCALE,
@@ -58,4 +78,17 @@ void ClipboardScriptingInterface::importVoxels() { · 7 unmodified lines
5878 QMetaObject::invokeMethod(Application::getInstance(), "importVoxels");
5979 }
6080
81+void ClipboardScriptingInterface::nudgeVoxel(const VoxelDetail& sourceVoxel, const glm::vec3& nudgeVec) {
82+ nudgeVoxel(sourceVoxel.x, sourceVoxel.y, sourceVoxel.z, sourceVoxel.s, nudgeVec);
83+}
84+
85+void ClipboardScriptingInterface::nudgeVoxel(float x, float y, float z, float s, const glm::vec3& nudgeVec) {
86+ glm::vec3 nudgeVecInTreeSpace = nudgeVec / (float)TREE_SCALE;
87+ VoxelDetail sourceVoxel = { x / (float)TREE_SCALE,
88+ y / (float)TREE_SCALE,
89+ z / (float)TREE_SCALE,
90+ s / (float)TREE_SCALE };
91+
92+ Application::getInstance()->nudgeVoxelsByVector(sourceVoxel, nudgeVecInTreeSpace);
93+}
6194