OV.GetNameOrDefault = function (originalName, defaultName) { if (originalName.length > 0) { return originalName; } return defaultName; }; OV.GetMeshName = function (originalName) { return OV.GetNameOrDefault (originalName, 'No Name'); }; OV.GetMaterialName = function (originalName) { return OV.GetNameOrDefault (originalName, 'No Name'); }; OV.IsHoverEnabled = function () { if (window.matchMedia ('(hover : hover)').matches) { return true; } else { return false; } }; OV.IsSmallWidth = function () { if (window.matchMedia ('(max-width : 700px)').matches) { return true; } else { return false; } }; OV.IsSmallHeight = function () { if (window.matchMedia ('(max-height : 700px)').matches) { return true; } else { return false; } }; OV.InstallTooltip = function (item, text) { function CalculateOffset (item, tooltip) { let windowObj = $(window); let windowWidth = windowObj.outerWidth (true); let itemOffset = item.offset (); let itemWidth = item.outerWidth (true); let itemHeight = item.outerHeight (true); let tooltipWidth = tooltip.outerWidth (true); let tooltipMargin = 10; let left = itemOffset.left + itemWidth / 2 - tooltipWidth / 2; if (left + tooltipWidth > windowWidth - tooltipMargin) { left = windowWidth - tooltipWidth - tooltipMargin; } if (left < tooltipMargin) { left = tooltipMargin; } left = Math.max (left, 0); return { left : left, top : itemOffset.top + itemHeight + tooltipMargin }; } if (!OV.IsHoverEnabled ()) { return; } let bodyObj = $(document.body); let tooltip = null; item.hover ( function () { tooltip = $('