Wildmeshing Toolkit
wmtk::MultiMeshManager Class Reference

#include <MultiMeshManager.hpp>

Inheritance diagram for wmtk::MultiMeshManager:
[legend]
Collaboration diagram for wmtk::MultiMeshManager:
[legend]

Additional Inherited Members

- Public Member Functions inherited from wmtk::multimesh::MultiMeshManager
 MultiMeshManager (int64_t dimension)
 
 ~MultiMeshManager ()
 
 MultiMeshManager (const MultiMeshManager &o)
 
 MultiMeshManager (MultiMeshManager &&o)
 
MultiMeshManageroperator= (const MultiMeshManager &o)
 
MultiMeshManageroperator= (MultiMeshManager &&o)
 
std::map< std::string, const wmtk::utils::Hashable * > child_hashables () const override
 
std::map< std::string, std::size_t > child_hashes () const override
 
void detach_children ()
 
std::vector< TypedAttributeHandle< int64_t > > map_handles () const
 
bool is_root () const
 Specifies whether this structure is the root of a multi-mesh tree. More...
 
int64_t child_id () const
 Specifies the child id of this mesh if it a child mesh in a mult-mesh tree. More...
 
std::vector< int64_t > absolute_id () const
 
Meshget_mesh (Mesh &m, const std::vector< int64_t > &absolute_id)
 
const Meshget_mesh (const Mesh &m, const std::vector< int64_t > &absolute_id) const
 
Meshget_child_mesh (Mesh &m, const std::vector< int64_t > &relative_id)
 
const Meshget_child_mesh (const Mesh &m, const std::vector< int64_t > &relative_id) const
 
void register_child_mesh (Mesh &my_mesh, const std::shared_ptr< Mesh > &child_mesh, const std::vector< std::array< Tuple, 2 >> &child_tuple_my_tuple_map)
 register a another mesh as a child of this mesh. More...
 
void deregister_child_mesh (Mesh &my_mesh, const std::shared_ptr< Mesh > &child_mesh_ptr)
 Deregister a child mesh. More...
 
void update_child_handles (Mesh &my_mesh)
 Clean up child data after deleting attributes. More...
 
std::vector< simplex::Simplexmap (const Mesh &my_mesh, const Mesh &other_mesh, const simplex::Simplex &my_simplex) const
 maps a simplex from this mesh to any other mesh More...
 
std::vector< Tuplelub_map_tuples (const Mesh &my_mesh, const Mesh &other_mesh, const simplex::Simplex &my_simplex) const
 maps a simplex from this mesh to any other mesh using the LUB as the root More...
 
std::vector< simplex::Simplexlub_map (const Mesh &my_mesh, const Mesh &other_mesh, const simplex::Simplex &my_simplex) const
 maps a simplex from this mesh to any other mesh using the LUB as the root More...
 
std::vector< Tuplemap_tuples (const Mesh &my_mesh, const Mesh &other_mesh, const simplex::Simplex &my_simplex) const
 maps a simplex from this mesh to any other mesh More...
 
simplex::Simplex map_to_parent (const Mesh &my_mesh, const simplex::Simplex &my_simplex) const
 optimized map from a simplex from this mesh to its direct parent More...
 
Tuple map_to_parent_tuple (const Mesh &my_mesh, const simplex::Simplex &my_simplex) const
 optimized map from a simplex from this mesh to its direct parent More...
 
simplex::Simplex map_to_root (const Mesh &my_mesh, const simplex::Simplex &my_simplex) const
 maps a simplex from this mesh to the root mesh More...
 
Tuple map_to_root_tuple (const Mesh &my_mesh, const simplex::Simplex &my_simplex) const
 maps a simplex from this mesh to the root mesh More...
 
std::vector< simplex::Simplexmap_to_child (const Mesh &my_mesh, const Mesh &child_mesh, const simplex::Simplex &my_simplex) const
 optimized map fromsimplex from this mesh to one of its direct children More...
 
std::vector< Tuplemap_to_child_tuples (const Mesh &my_mesh, const Mesh &child_mesh, const simplex::Simplex &my_simplex) const
 
bool can_map (const Mesh &my_mesh, const Mesh &other_mesh, const simplex::Simplex &my_simplex) const
 
bool can_map_child (const Mesh &my_mesh, const Mesh &other_mesh, const simplex::Simplex &my_simplex) const
 
const Meshget_root_mesh (const Mesh &my_mesh) const
 
Meshget_root_mesh (Mesh &my_mesh)
 
std::vector< std::shared_ptr< Mesh > > get_child_meshes () const
 
void serialize (MeshWriter &writer, const Mesh *local_root=nullptr) const
 
bool has_child_mesh_in_dimension (int64_t dimension) const
 
bool has_child_mesh () const
 
std::vector< int64_t > relative_id (const Mesh &my_mesh, const Mesh &parent_mesh) const
 
bool is_child (const Mesh &my_mesh, const Mesh &parent_mesh) const
 
void check_map_valid (const Mesh &my_mesh) const
 update all the hashes of the top-simplces of the parent mesh around a vertex hashes of the parent tuples in the maps for all child meshes More...
 
void check_child_map_valid (const Mesh &my_mesh, const ChildData &child_data) const
 
- Public Member Functions inherited from wmtk::utils::MerkleTreeInteriorNode
std::map< std::string, std::size_t > child_hashes () const override
 
- Public Member Functions inherited from wmtk::utils::Hashable
 Hashable ()
 
 Hashable (const Hashable &)
 
 Hashable (Hashable &&)
 
Hashableoperator= (const Hashable &)
 
Hashableoperator= (Hashable &&)
 
virtual ~Hashable ()
 
virtual std::size_t hash () const
 
- Static Public Member Functions inherited from wmtk::multimesh::MultiMeshManager
static std::vector< int64_t > least_upper_bound_id (const std::vector< int64_t > &a, const std::vector< int64_t > &b)
 
static std::vector< int64_t > relative_id (const std::vector< int64_t > &parent, const std::vector< int64_t > &child)
 
static bool is_child (const std::vector< int64_t > &child, const std::vector< int64_t > &parent)
 
- Protected Member Functions inherited from wmtk::multimesh::MultiMeshManager
Tuple map_tuple_to_parent_tuple (const Mesh &my_mesh, const Tuple &my_tuple) const
 
Tuple map_tuple_to_root_tuple (const Mesh &my_mesh, const Tuple &my_tuple) const
 
std::vector< Tuplemap_to_child_tuples (const Mesh &my_mesh, const ChildData &child_data, const simplex::Simplex &simplex) const
 
std::vector< Tuplemap_to_child_tuples (const Mesh &my_mesh, int64_t child_id, const simplex::Simplex &simplex) const
 
const std::vector< ChildData > & children () const
 
std::vector< ChildData > & children ()
 
std::array< wmtk::attribute::Accessor< int64_t >, 2 > get_map_accessors (Mesh &my_mesh, ChildData &c)
 
std::array< const wmtk::attribute::Accessor< int64_t >, 2 > get_map_const_accessors (const Mesh &my_mesh, const ChildData &c) const
 
void update_map_tuple_hashes (Mesh &my_mesh, PrimitiveType primitive_type, const std::vector< std::tuple< int64_t, std::vector< Tuple >>> &simplices_to_update, const std::vector< std::tuple< int64_t, std::array< int64_t, 2 >>> &split_cell_maps={})
 
void update_maps_from_edge_operation (Mesh &my_mesh, PrimitiveType primitive_type, const operations::EdgeOperationData &operation_data)
 
std::optional< Tuplefind_valid_tuple (Mesh &my_mesh, const simplex::Simplex &old_simplex, const int64_t old_gid, const std::vector< Tuple > &tuple_alternatives, const std::vector< std::tuple< int64_t, std::array< int64_t, 2 >>> &split_cell_maps={}) const
 
std::optional< Tuplefind_valid_tuple_from_alternatives (Mesh &my_mesh, PrimitiveType primitive_type, const std::vector< Tuple > &tuple_alternatives) const
 
std::optional< Tuplefind_valid_tuple_from_split (Mesh &my_mesh, const simplex::Simplex &old_simplex, const int64_t old_gid, const std::vector< Tuple > &tuple_alternatives, const std::vector< std::tuple< int64_t, std::array< int64_t, 2 >>> &split_cell_maps) const
 
std::optional< Tupletry_updating_map_tuple_from_split (Mesh &my_mesh, const simplex::Simplex &old_simplex, const int64_t old_gid, const std::vector< Tuple > &tuple_alternatives, const std::tuple< int64_t, std::array< int64_t, 2 >> &split_cell_maps) const
 
std::pair< const Mesh &, Tuplemap_up_to_tuples (const Mesh &my_mesh, const simplex::Simplex &simplex, int64_t depth) const
 
std::vector< Tuplemap_down_relative_tuples (const Mesh &my_mesh, const simplex::Simplex &my_simplex, const std::vector< int64_t > &local_id_path) const
 
- Static Protected Member Functions inherited from wmtk::multimesh::MultiMeshManager
static Tuple map_tuple_between_meshes (const Mesh &source_mesh, const Mesh &target_mesh, const wmtk::attribute::Accessor< int64_t > &source_to_target_map_accessor, const Tuple &source_tuple)
 
static std::string parent_to_child_map_attribute_name (int64_t index)
 
static std::string child_to_parent_map_attribute_name ()
 
static std::optional< Tuplefind_tuple_from_gid (const Mesh &my_mesh, PrimitiveType primitive_type, const std::vector< Tuple > &tuples, int64_t gid)
 
static int64_t child_global_cid (const wmtk::attribute::Accessor< int64_t > &parent_to_child, int64_t parent_gid)
 
static int64_t parent_global_cid (const wmtk::attribute::Accessor< int64_t > &child_to_parent, int64_t child_gid)
 
static int64_t parent_local_fid (const wmtk::attribute::Accessor< int64_t > &child_to_parent, int64_t child_gid)
 
- Protected Attributes inherited from wmtk::multimesh::MultiMeshManager
Meshm_parent = nullptr
 
TypedAttributeHandle< int64_t > map_to_parent_handle
 
int64_t m_child_id = -1
 
std::vector< ChildDatam_children
 
std::vector< bool > m_has_child_mesh_in_dimension
 

Detailed Description

Definition at line 8 of file MultiMeshManager.hpp.


The documentation for this class was generated from the following file: