-
Notifications
You must be signed in to change notification settings - Fork 32
Feature/gunney/extend klee geometry #1666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/gunney/extend klee geometry #1666
Conversation
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
| populateGeomInfo(); | ||
| } | ||
|
|
||
| void Geometry::populateGeomInfo() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit confused by this PR. Is there a reason to store both the geometric primitive, e.g. primal::Tetrahedron and the blueprint representation?
Would it make sense to store just the conduit node and create the primal type on the fly?
(I'm asking because, each Geometry stores at most one of the types, e.g. sphere vs. tetrahedron, but there is a class member for each of the types.
I saw WIP in the description. Are you planning to remove the primitives in a later PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I plan to remove the primitives later. Primitives don't have enough information and they require Geometry to change each time we add a new shape. Geometry is supporting both during the transition from primitives to hierarchy representation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added this info to the PR summary.
…ies' into feature/gunney/extend-klee-geometry
Arlie-Capps
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the design of klee::Geometry can and should be refined. It feels like the class has a lot of redundancy which I'd like to eliminate. I also recognize, Brian, that you wrote it this way to solve specific problems, and I feel like I don't fully understand those issues. Also, this PR is in support of a feature you're highly motivated to make available to a user of Axom.
If you're willing to revisit the design of Geometry, perhaps in conjunction with moving a body of code out of the experimental namespace, I'm willing to defer the discussion of Geometry until that date and approve this PR.
@Arlie-Capps, I appreciate your point of view and agree completely. |
As discussed in an email thread with @kennyweiss and @Arlie-Capps, completion of |
742b70b
into
feature/gunney/extend-primal-geometries
Summary
conduit::Nodefor 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:Tetrahedron,Hexahedron,Sphere, etc.)sidre::Groupand topology name (for geometries stored in blueprint mesh convention)Problems with using primitives in
GeometryGeometryhas to keep supplemental data).Geometryto support new shapes.For these reasons, primitives will be removed in favor of the hierarchy representation.
Geometryis 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.