conduit
conduit copied to clipboard
provide top level blueprint interface to mesh rep transforms
We have many building blocks to switch between mesh representations, like promoting an implicit uniform grid to an explicit unstructured mesh.
The low level building blocks are provided by namespaced methods that target a single domain, we should wrap these into a top level interface that supports multi domain meshes and simplifies their use with a set of options that can easily wrapped across all supported languages.
We can call this method:
conduit::blueprint::mesh::convert(mesh,opts,result)
For cases were we create source to dest and dest to source maps:
conduit::blueprint::mesh::convert(mesh,opts,result,result_maps)
(the result maps will mirror the same domain tree)
We want to wrap functionality from:
blueprint::mesh::topology::{uniform|rectilinear}::to_structured
blueprint::mesh::topology::{uniform|rectilinear|structured}::to_unstructured
blueprint::mesh::topology::unstructured::to_polytopal
blueprint::mesh::topology::unstructured::generate_points
blueprint::mesh::topology::unstructured::generate_lines
blueprint::mesh::topology::unstructured::generate_faces
blueprint::mesh::topology::unstructured::generate_centroids
blueprint::mesh::topology::unstructured::generate_sides
blueprint::mesh::topology::unstructured::generate_corners
Options:
target = "structured" | "unstructured" | "polytopal" | "generate_points" |"generate_lines" | ... | "generate_corners"
topology (topology name which topo to convert -- default to first, or default to all?)
fields (field names (default to all for given topo))
There are some other swizzles (like zero copying the fields) that could be advanced options in the future.