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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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