Skip to content

Outcrop on curved boundaries: the wall descriptor is (axis, value) everywhere #555

Description

@lmoresi

The outcrop machinery (3-D: #525/#526; 2-D: PR #552) is restricted to axis-aligned box walls, and the restriction is ours, not gmsh's. OCC's intersect clips against any tool solid — a disk, cylinder, or revolved shell works exactly like addBox — and gmsh can mesh cap patches on curved OCC surfaces or in a local chart. What blocks a curved outcrop (a fault daylighting on an annulus top, a spherical surface) is that the wall is represented as the pair (axis, value) threaded through everything:

  • band identification is coordinate-equality against the plane/line value (_split_skin_band);
  • the post-mesh snap is per-axis (_occ_assembly_2d / _occ_assembly_3d);
  • the carve's open-wall tests are X[:, axis] == value (victim protection, ring checks, the 2-D splice, the 3-D bowl);
  • the 3-D cap is meshed flat in the wall plane's uv coordinates.

Generalising means replacing the pair with a small wall descriptor — implicit function for membership, projection for the snap, chart for the cap — a bounded refactor: one concept, several touch points, each already isolated behind a named test in the 2-D path.

The annulus fault studies are the first customer. Corner/box-edge outcrop (a zone meeting two walls) is a separate, genuinely harder problem and stays refused regardless.

Underworld development team with AI support from Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions