diff --git a/src/openstudio_lib/library/geometry_preview.html b/src/openstudio_lib/library/geometry_preview.html index f36318142..719c48443 100644 --- a/src/openstudio_lib/library/geometry_preview.html +++ b/src/openstudio_lib/library/geometry_preview.html @@ -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), @@ -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 + '
' @@ -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; } @@ -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'); [