Skip to content

Commit

Permalink
Implement new geometry diagnostics
Browse files Browse the repository at this point in the history
  • Loading branch information
jmarrec committed Apr 4, 2023
1 parent dd789d5 commit 1f0181f
Showing 1 changed file with 73 additions and 18 deletions.
91 changes: 73 additions & 18 deletions src/openstudio_lib/library/geometry_preview.html
Expand Up @@ -1905,8 +1905,12 @@
renderBy: 'Surface Type',
showStory: 'All Stories',
showAirLoop: 'All Loops',
findAdjacencyIssues: false,
findAdjacencyThreshold: 1,
findAdjacencyIssues: getBoolFromLocalStorage('findAdjacencyIssues', false),
findAdjacencyThreshold: getFloatFromLocalStorage('findAdjacencyThreshold', 1),
showOnlyNonConvexSurfaces: getBoolFromLocalStorage('showOnlyNonConvexSurfaces', false),
showOnlyNonConvexSpaces: getBoolFromLocalStorage('showOnlyNonConvexSpaces', false),
showOnlyNonEnclosedSpaces: getBoolFromLocalStorage('showOnlyNonEnclosedSpaces', false),
showOnlyIncorrectlyOrientedSurfaces: getBoolFromLocalStorage('showOnlyIncorrectlyOrientedSurfaces', false),
searchType: getStringFromLocalStorage('searchType', 'Surfaces'),
searchName: getStringFromLocalStorage('searchName', ''),
showFloors: getBoolFromLocalStorage('showFloors', true),
Expand Down Expand Up @@ -2564,6 +2568,10 @@
if (inter.userData.spaceName){
txt += 'Space Name: ' + inter.userData.spaceName;
}
txt += 'Convex' + inter.userData.convex;
txt += 'CorrectlyOriented' + inter.userData.correctlyOriented;
txt += 'Space Convex: ' + inter.userData.spaceConvex;
txt += 'Space Enclosed: ' + inter.userData.spaceEnclosed;
break;
case "Normal":
txt += 'Surface Type: ' + inter.userData.surfaceType + '<br>'
Expand Down Expand Up @@ -2876,6 +2884,19 @@
object.visible = adjacencyIssueIds.has(object.id);
}

if (settings.showOnlyNonConvexSurfaces && object.userData.convex) {
object.visible = false;
}
if (settings.showOnlyNonConvexSpaces && object.userData.spaceConvex) {
object.visible = false;
}
if (settings.showOnlyNonEnclosedSpaces && object.userData.spaceEnclosed) {
object.visible = false;
}
if (settings.showOnlyIncorrectlyOrientedSurfaces && object.userData.correctlyOriented) {
object.visible = false;
}

if (settings.showStory !== 'All Stories' && settings.showStory !== object.userData.buildingStoryName) {
object.visible = false;
}
Expand Down Expand Up @@ -3181,22 +3202,56 @@
});
f1.open();

var f2 = gui.addFolder('Potential Adjacency Issues');
f2.add(settings, 'findAdjacencyIssues').name('Enable').onChange(value => {
removeSelection();
setLocalStorage('findAdjacencyThreshold', value);
updateAdjacencyIssues();
update(value);
});
f2.add(settings, 'findAdjacencyThreshold', 0.1, 10, 0.5).name('Threshold').onFinishChange(function (value) {
if (settings.findAdjacencyIssues) {
removeSelection();
setLocalStorage('findAdjacencyThreshold', value);
updateAdjacencyIssues();
update(value);
}
});
f2.open();
var diagnostics = gui.addFolder("Diagnostic Tools")
{
var adjacencies = diagnostics.addFolder('Potential Adjacency Issues');
adjacencies.add(settings, 'findAdjacencyIssues').name('Enable').onChange(value => {
removeSelection();
setLocalStorage('findAdjacencyIssues', value);
updateAdjacencyIssues();
update(value);
});
adjacencies.add(settings, 'findAdjacencyThreshold', 0.1, 10, 0.5).name('Threshold').onFinishChange(function (value) {
if (settings.findAdjacencyIssues) {
removeSelection();
setLocalStorage('findAdjacencyThreshold', value);
updateAdjacencyIssues();
update(value);
}
});
adjacencies.open();
}

{
var surfaceLevelIssues = diagnostics.addFolder('Surface Level Issues')
surfaceLevelIssues.add(settings, 'showOnlyNonConvexSurfaces').name('Non-Convex Surfaces Only').onChange(value => {
removeSelection();
setLocalStorage('showOnlyNonConvexSurfaces', value);
update(value);
});
surfaceLevelIssues.add(settings, 'showOnlyIncorrectlyOrientedSurfaces').name('Incorrectly Oriented Surfaces Only').onChange(value => {
removeSelection();
setLocalStorage('showOnlyIncorrectlyOrientedSurfaces', value);
update(value);
});
surfaceLevelIssues.open();
}
{
var spaceLevelIssues = diagnostics.addFolder('Space Level Issues')
spaceLevelIssues.add(settings, 'showOnlyNonConvexSpaces').name('Non-Convex Spaces Only').onChange(value => {
removeSelection();
setLocalStorage('showOnlyNonConvexSpaces', value);
update(value);
});

spaceLevelIssues.add(settings, 'showOnlyNonEnclosedSpaces').name('Non-Enclosed Spaces Only').onChange(value => {
removeSelection();
setLocalStorage('showOnlyNonEnclosedSpaces', value);
update(value);
});
spaceLevelIssues.open();
}
diagnostics.open();

var f3 = gui.addFolder('Camera');
[
Expand Down

0 comments on commit 1f0181f

Please sign in to comment.