Skip to content

Conversation

@gunney1
Copy link
Contributor

@gunney1 gunney1 commented Oct 1, 2025

Summary

This is a redo of #1666, which was approved by @kennyweiss, @Arlie-Capps and @bmhan12. Please re-approve. I screwed up the merge step somehow and it didn't merge into develop. The description below is exactly the same.

  • This PR is a (work-in-progress) feature.
  • It does the following:
    • Introduces a conduit::Node for internally storing geomety data and allow for new geometry formats and information without further changes to the code. Currently, this information is stored in a variety of objects:
      1. primal geometries (Tetrahedron, Hexahedron, Sphere, etc.)
      2. aggregate data for geometries not supported by primal (for example, 2D function and refinement level for surface of revolution)
      3. file names for geometries stored in files (for example, ProE mesh)
      4. sidre::Group and topology name (for geometries stored in blueprint mesh convention)
    • Provides a way to populate, store and access geometry data without requiring numerous accessors and constructors.

Problems with using primitives in Geometry

  1. They don't have all the parameters needed for shaping (which is why Geometry has to keep supplemental data).
  2. We have to add new primitives and change Geometry to support new shapes.
    For these reasons, primitives will be removed in favor of the hierarchy representation. Geometry is supporting both during the transition.

This is a WIP. It is being used in the on-going work to re-factor and improve clipping performance and may still change to support that goal.

Dependencies

The mesh clipping refactor includes multiple PRs. Please review these before this one.

gunney1 and others added 6 commits September 22, 2025 17:54
Cone provides interface for specify a cone geometry.
Type-free geometry is work-in-progress toward allowing
klee::Geometry to support arbitrary geometry types without
requiring a primal representation of that geometry.
Also add asterisks to comment blocks.
…ries' into feature/gunney/extend-klee-geometry
…ies' into feature/gunney/extend-klee-geometry
@gunney1 gunney1 self-assigned this Oct 1, 2025
@gunney1 gunney1 added the Klee Related to the Klee component label Oct 1, 2025
@gunney1 gunney1 added this to the 2025 Fall Release milestone Oct 1, 2025
Copy link
Contributor

@Arlie-Capps Arlie-Capps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, Brian.

@gunney1 gunney1 changed the title Feature/gunney/extend primal geometries (second try) Feature/gunney/extend klee geometries (second try) Oct 1, 2025
@gunney1 gunney1 merged commit 324f731 into develop Oct 1, 2025
15 checks passed
@gunney1 gunney1 deleted the feature/gunney/extend-primal-geometries branch October 1, 2025 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Klee Related to the Klee component

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants