SDK Components for Picking Objects with a Marquee Box
Introduction
In xeokit-sdk v2.4.2, we have added components that enable interactive picking of a Viewer's Entities using a 2D box drawn on the canvas with mouse input.
In xeokit-sdk v2.4.2, we have added components that enable interactive picking of a Viewer's Entities using a 2D box drawn on the canvas with mouse input.
In xeokit v2.4, we have introduced a new feature that allows users to measure distances and angles more accurately in their models. When using the xeokit SDK's DistanceMeasurementsPlugin or AngleMeasurementsPlugin, or the measurement tools in xeokit’s bundled BIMViewer, the mouse pointer now automatically snaps to the nearest vertex or edge. This makes it easier to position the pointer accurately and obtain precise measurements.
This innovative technique was developed by one of our core xeokit SDK developers, Toni Marti. It relies almost entirely on the GPU to find the nearest vertex or edge. Compared to traditional nearest-neighbor spatial search techniques used in other graphics libraries, this technique performs much faster. Additionally, its performance scales smoothly to work with the largest models that we can view with xeokit.
We have added a new marquee selection tool to xeokit's bundled BIMViewer application. This tool enables users to interactively select objects that intersect a rectangular region created by dragging the mouse.
In xeokit v2.4, we have implemented a new technique for internally storing and rendering models in the xeokit Viewer, which we call data texture model representation (or DTX for short). Compared to the traditional Vertex Buffer Objects (VBOs) used in other browser graphics libraries, this technique has a much lower memory footprint. As a result, users can now view even larger models in xeokit.
Note that this feature requires a reasonably good GPU and may not work well on low-spec graphics hardware. It has been found to work well on recent-model iPhones and desktop graphics hardware, including Intel HD and NVIDIA GPUs.
The xeokit SDK gives you flexible tools to create a variety of custom browser-based experiences for navigating the building storeys in your IFC building models. Using these tools, you can create a 2D plan view "mini-map" to help you navigate the 3D view, or just use certain functions to isolate storey objects in the 3D view, highlight them, fit them in view, and so on.
This new feature enhances xeokit's high-performance SceneModel model representation by introducing dynamic transform hierarchies.
FastNavPlugin is a xeokit Viewer plugin that makes interaction feel smoother for large models.
FastNavPlugin works by temporarily disabling expensive Viewer rendering features, and optionally scaling the Viewer's canvas resolution, whenever we interact with the Viewer. Then, once we've finished interacting, FastNavPlugin restores those rendering features and the original canvas scale, after a configured delay.
Depending on how we configure FastNavPlugin, we essentially switch to a smooth-rendering low-quality view while interacting, then return to the normal, higher-quality view after we stop.
Down-scaling the canvas resolution gives particularly good results. For example, scaling by 0.5 causes the Viewer to render 75% less pixels, which can make it feel noticeably lighter with big models, at the cost of a slightly blurry canvas while interacting.
This week, Lindsay from xeolabs talked about xeokit's fast rendering and double-precision geometry at the Khronos 2020 Virtual WebGL Meetup.

How to preserve interactivity when viewing large models with ambient shadows and enhanced edges.
This week, Ken Russell of the Khronos Group gave a short demonstration of xeokit at the SIGGRAPH 2019 WebGL BOF in Los Angeles!