Added preview deplacement + fixed locking issue

This commit is contained in:
Atlante45 2014-03-11 18:01:38 -07:00
parent be6e7d0e97
commit 6fcb802a94
3 changed files with 31 additions and 20 deletions

View file

@ -972,7 +972,6 @@ function mousePressEvent(event) {
print("placing import...");
placeImport();
showImport(false);
pasteMode = false;
moveTools();
return;
}
@ -1177,7 +1176,6 @@ function menuItemEvent(menuItem) {
print("importing...");
if (importVoxels()) {
showImport(true);
pasteMode = true;
}
moveTools();
}
@ -1512,14 +1510,27 @@ function checkControllers() {
}
function update(deltaTime) {
var newWindowDimensions = Controller.getViewportDimensions();
if (newWindowDimensions.x != windowDimensions.x || newWindowDimensions.y != windowDimensions.y) {
windowDimensions = newWindowDimensions;
moveTools();
}
if (editToolsOn) {
var newWindowDimensions = Controller.getViewportDimensions();
if (newWindowDimensions.x != windowDimensions.x || newWindowDimensions.y != windowDimensions.y) {
windowDimensions = newWindowDimensions;
moveTools();
}
checkControllers();
// Move Import Preview
if (isImporting) {
var position = MyAvatar.position;
var forwardVector = Quat.getFront(MyAvatar.orientation);
var targetPosition = Vec3.sum(position, Vec3.multiply(forwardVector, importScale));
var newPosition = {
x: Math.floor(targetPosition.x / importScale) * importScale,
y: Math.floor(targetPosition.y / importScale) * importScale,
z: Math.floor(targetPosition.z / importScale) * importScale
}
moveImport(newPosition);
}
}
}

View file

@ -40,12 +40,12 @@ void LocalVoxelsOverlay::update(float deltatime) {
_voxelSystem->init();
}
_tree->lockForWrite();
if (_visible && _voxelCount != _tree->getOctreeElementsCount()) {
_voxelCount = _tree->getOctreeElementsCount();
_tree->lockForWrite();
_voxelSystem->forceRedrawEntireTree();
_tree->unlock();
}
_tree->unlock();
}
void LocalVoxelsOverlay::render() {