Skip to content

Containers for families of geometric objects #32170

@mkoeppe

Description

@mkoeppe

We define APIs for static and dynamic containers storing finite families of geometric objects, extending Container, Set, MutableSet, Mapping, MutableMapping https://docs.python.org/3/library/collections.abc.html

The family must define a collection of "measurement maps" B_i, each sending an object to an InternalRealInterval.

The product of these intervals can be thought of as a "generalized bounding box".

Ideally the maps would be inclusion-preserving.

The implementation is provided by rtree/libspatialindex (#32000).

The Sage-specific class will take care of:

  • replacing an InternalRealInterval by a rescaling or inclusion-preserving overestimation, making the coordinates suitable for the underlying library.
  • providing accelerated set operations such as:
    • a fast path for computing empty intersection when the result will be empty,
    • a fast path for __contains__ when the result will be False.

Geometric lookup operations to be supported:

  • ...

Applications:

Depends on #34277

CC: @DRKWang

Component: geometry

Work Issues: Rebase on #34277

Author: Binshuai Wang

Branch/Commit: public/32170 @ 05ea99d

Issue created by migration from https://trac.sagemath.org/ticket/32170

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions