Skip to content
  • Philippe P. Pébaÿ's avatar
    Full revision and extension of support for hypertreegrid objects and filters · 61908bd7
    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