From 8fbce359443ca977e4adc48c51081f8011218e55 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Thu, 6 Feb 2014 03:44:21 -0800 Subject: [PATCH] fix slight glitch in last child delete from larger voxel --- interface/src/Application.cpp | 3 ++- libraries/voxels/src/VoxelTreeElement.cpp | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index ee4bf7f27c..c86495381b 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1256,7 +1256,8 @@ void Application::mousePressEvent(QMouseEvent* event) { pasteVoxels(); } - if (MAKE_SOUND_ON_VOXEL_CLICK && _isHoverVoxel && !_isHoverVoxelSounding) { + if (!Menu::getInstance()->isOptionChecked(MenuOption::VoxelDeleteMode) && + MAKE_SOUND_ON_VOXEL_CLICK && _isHoverVoxel && !_isHoverVoxelSounding) { _hoverVoxelOriginalColor[0] = _hoverVoxel.red; _hoverVoxelOriginalColor[1] = _hoverVoxel.green; _hoverVoxelOriginalColor[2] = _hoverVoxel.blue; diff --git a/libraries/voxels/src/VoxelTreeElement.cpp b/libraries/voxels/src/VoxelTreeElement.cpp index c98ed77b74..6fd3997165 100644 --- a/libraries/voxels/src/VoxelTreeElement.cpp +++ b/libraries/voxels/src/VoxelTreeElement.cpp @@ -54,6 +54,8 @@ void VoxelTreeElement::splitChildren() { for (int i = 0; i < NUMBER_OF_CHILDREN; i++) { addChildAtIndex(i)->setColor(ourColor); } + nodeColor noColor = { 0, 0, 0, 0}; + setColor(noColor); // set our own color to noColor so we are a pure non-leaf } } @@ -143,7 +145,11 @@ void VoxelTreeElement::setColor(const nodeColor& color) { memcpy(&_currentColor,&color,sizeof(nodeColor)); } _isDirty = true; - _density = 1.0f; // If color set, assume leaf, re-averaging will update density if needed. + if (color[3]) { + _density = 1.0f; // If color set, assume leaf, re-averaging will update density if needed. + } else { + _density = 0.0f; + } markWithChangedTime(); } }