-
Philippe P. Pébaÿ authored
In this commit, we provide a complete revision and extension of support for hypertreegrid objects and filters, hereby entirely superseding the first versions thereof which we developed in 2011-2012. When compared to those obtained by constructing an intermediate unstructured mesh with fully described connectivity, this new structure demonstrates a gain of at least 80% in terms of memory footprint, with a better rendering while retaining similar execution speed. All ancillary structures such as cursors and supercursors have also been entirely refactored, for the sake of performance as well as of ease of maintenance. Existing native filters, i.e., that operate directly on hypertreegrid objects, have been revised accordingly. In addition, several new native filters have been added, together with a large set of non-regression tests and baseline images. This commit also implements an adaptive approach in order to accelerate the rendering of 2-dimensional hypertreegrids, hereby solving the problem posed by the loss of interactivity that occurs when dealing with large and/or deeply refined meshes. Specifically, view parameters are taken into account, in order to: on one hand, avoid creating surface elements that are outside of the view area; on the other hand, utilize level-of-detail properties to cull those cells that are deemed too small to be visible with respect to the given view parameters. This adaptive approach typically results in a massive increase in rendering performance. Please refer to the following articles for a comprehensive description: https://arxiv.org/abs/1702.04852 https://arxiv.org/abs/1703.00212
61908bd7