Wildmeshing Toolkit
|
Namespaces | |
internal | |
Classes | |
class | MapValidator |
Typedefs | |
using | TupleVector = Vector< int64_t, TUPLE_SIZE > |
using | TwoTupleVector = Vector< int64_t, TWO_TUPLE_SIZE > |
Functions | |
bool | check_maps_valid (const Mesh &m) |
bool | check_child_maps_valid (const Mesh &m) |
bool | check_parent_map_valid (const Mesh &m) |
std::set< int64_t > | create_tags (Mesh &m, const std::set< int64_t > &critical_vids) |
Do two passes on the edges of a triangle mesh to create vertex tags and edge tags. More... | |
std::shared_ptr< Mesh > | extract_and_register_child_mesh_from_tag (Mesh &m, const std::string &tag, const int64_t tag_value, const PrimitiveType pt, bool child_is_free=false) |
extract a child mesh based on the given tag and tag value, and register it to the input (parent) mesh More... | |
std::shared_ptr< Mesh > | extract_and_register_child_mesh_from_tag_handle (Mesh &m, const wmtk::attribute::TypedAttributeHandle< int64_t > &tag_handle, const int64_t tag_value, bool child_is_free=false) |
extract a child mesh based on the tag handle and the tag value, and register it to the input (parent) mesh More... | |
std::shared_ptr< Mesh > | extract_and_register_child_mesh_from_tag (wmtk::attribute::MeshAttributeHandle &tag_handle, const wmtk::attribute::MeshAttributeHandle::ValueVariant &tag_value, bool child_is_free=false) |
extract a child mesh based on the tag handle and the tag value, and register it to the input (parent) mesh More... | |
int8_t | find_local_dart_action (PrimitiveType pt, const Tuple &source, const Tuple &target) |
int8_t | find_local_dart_action (const wmtk::autogen::SimplexDart &sd, const Tuple &source, const Tuple &target) |
int8_t | find_local_dart_action (const wmtk::autogen::SimplexDart &sd, const wmtk::autogen::Dart &source, const wmtk::autogen::Dart &target) |
std::vector< PrimitiveType > | find_local_switch_sequence (const Tuple &source, const Tuple &target, PrimitiveType primitive_type) |
std::vector< PrimitiveType > | find_local_switch_sequence_to_face (const Tuple &source, const Tuple &target, PrimitiveType subtuple_dimension, PrimitiveType primitive_type) |
Tuple | local_switch_tuple (PrimitiveType mesh_primitive_type, const Tuple &source, PrimitiveType primitive_type) |
Tuple | local_switch_tuples (PrimitiveType mesh_primitive_type, const Tuple &tuple, const std::initializer_list< PrimitiveType > &op_sequence) |
template<typename ContainerType > | |
Tuple | local_switch_tuples (PrimitiveType mesh_primitive_type, const Tuple &tuple, const ContainerType &sequence) |
wmtk::attribute::MeshAttributeHandle | transfer_attribute (const wmtk::attribute::MeshAttributeHandle &original_handle, Mesh &m) |
wmtk::attribute::MeshAttributeHandle | transfer_attribute (const wmtk::attribute::MeshAttributeHandle &original_handle, Mesh &m, const std::string &new_attribute_name) |
Tuple | transport_tuple (const Tuple &base_source, const Tuple &base_target, PrimitiveType base_primitive_type, const Tuple &source, PrimitiveType primitive_type) |
Tuple | transport_tuple (const wmtk::autogen::SimplexDart &base_sd, const wmtk::autogen::SimplexDart &sd, const Tuple &base_source, const Tuple &base_target, const Tuple &source) |
Vector< int64_t, 2 > | tuple_to_vector2 (const Tuple &t) |
Tuple | vector2_to_tuple (const Eigen::Ref< const Vector2l > &v) |
Vector< int64_t, 4 > | tuple_to_vector5 (const Tuple &t) |
Tuple | vector5_to_tuple (const Eigen::Ref< const Vector5l > &v) |
Vector< int64_t, TUPLE_SIZE > | tuple_to_vector (const Tuple &t) |
Tuple | vector_to_tuple (const Eigen::Ref< const TupleVector > &v) |
std::tuple< Tuple, Tuple > | vectors_to_tuples (const Eigen::Ref< const TwoTupleVector > &v) |
TwoTupleVector | tuples_to_vectors (const Tuple &a, const Tuple &b) |
template<typename MeshType > | |
std::tuple< Tuple, Tuple > | read_tuple_map_attribute (const wmtk::attribute::Accessor< int64_t, MeshType > &accessor, const Tuple &source_tuple) |
template std::tuple< Tuple, Tuple > | read_tuple_map_attribute (const wmtk::attribute::Accessor< int64_t, wmtk::Mesh > &accessor, const Tuple &source_tuple) |
template std::tuple< Tuple, Tuple > | read_tuple_map_attribute (const wmtk::attribute::Accessor< int64_t, wmtk::EdgeMesh > &accessor, const Tuple &source_tuple) |
template std::tuple< Tuple, Tuple > | read_tuple_map_attribute (const wmtk::attribute::Accessor< int64_t, wmtk::TriMesh > &accessor, const Tuple &source_tuple) |
template std::tuple< Tuple, Tuple > | read_tuple_map_attribute (const wmtk::attribute::Accessor< int64_t, wmtk::TetMesh > &accessor, const Tuple &source_tuple) |
template<typename MeshType > | |
void | write_tuple_map_attribute (wmtk::attribute::Accessor< int64_t, MeshType > &map_accessor, const Tuple &source_tuple, const Tuple &target_tuple) |
template void | write_tuple_map_attribute (wmtk::attribute::Accessor< int64_t, wmtk::Mesh > &map_accessor, const Tuple &source_tuple, const Tuple &target_tuple) |
template void | write_tuple_map_attribute (wmtk::attribute::Accessor< int64_t, wmtk::EdgeMesh > &map_accessor, const Tuple &source_tuple, const Tuple &target_tuple) |
template void | write_tuple_map_attribute (wmtk::attribute::Accessor< int64_t, wmtk::TriMesh > &map_accessor, const Tuple &source_tuple, const Tuple &target_tuple) |
template void | write_tuple_map_attribute (wmtk::attribute::Accessor< int64_t, wmtk::TetMesh > &map_accessor, const Tuple &source_tuple, const Tuple &target_tuple) |
void | write_tuple_map_attribute_slow (Mesh &source_mesh, TypedAttributeHandle< int64_t > map_handle, const Tuple &source_tuple, const Tuple &target_tuple) |
std::tuple< Tuple, Tuple > | read_tuple_map_attribute_slow (const Mesh &source_mesh, TypedAttributeHandle< int64_t > map_handle, const Tuple &source_tuple) |
template<typename MeshA , typename MeshB > | |
void | symmetric_write_tuple_map_attributes (wmtk::attribute::Accessor< int64_t, MeshA > &a_to_b, wmtk::attribute::Accessor< int64_t, MeshB > &b_to_a, const Tuple &a_tuple, const Tuple &b_tuple) |
using wmtk::multimesh::utils::TupleVector = typedef Vector<int64_t, TUPLE_SIZE> |
Definition at line 15 of file tuple_map_attribute_io.hpp.
using wmtk::multimesh::utils::TwoTupleVector = typedef Vector<int64_t, TWO_TUPLE_SIZE> |
Definition at line 16 of file tuple_map_attribute_io.hpp.
bool wmtk::multimesh::utils::check_child_maps_valid | ( | const Mesh & | m | ) |
Definition at line 13 of file check_map_valid.cpp.
References wmtk::multimesh::utils::MapValidator::check_child_map_attributes_valid().
bool wmtk::multimesh::utils::check_maps_valid | ( | const Mesh & | m | ) |
Definition at line 8 of file check_map_valid.cpp.
References wmtk::multimesh::utils::MapValidator::check_all().
bool wmtk::multimesh::utils::check_parent_map_valid | ( | const Mesh & | m | ) |
Definition at line 18 of file check_map_valid.cpp.
References wmtk::multimesh::utils::MapValidator::check_child_map_attributes_valid().
std::set< int64_t > wmtk::multimesh::utils::create_tags | ( | Mesh & | m, |
const std::set< int64_t > & | critical_vids | ||
) |
Do two passes on the edges of a triangle mesh to create vertex tags and edge tags.
First pass is to create vertex tags, and second pass is to create edge tags. The function return a set of integers that are the valid tags.
tuple_tag | |
critical_vids |
Definition at line 3 of file create_tag.cpp.
References wmtk::multimesh::utils::internal::TupleTag::run().
std::shared_ptr< Mesh > wmtk::multimesh::utils::extract_and_register_child_mesh_from_tag | ( | Mesh & | m, |
const std::string & | tag, | ||
const int64_t | tag_value, | ||
const PrimitiveType | pt, | ||
bool | child_is_free = false |
||
) |
extract a child mesh based on the given tag and tag value, and register it to the input (parent) mesh
m | mesh |
tag | tag of type int64_t. The tag represents the child mesh that should be extracted. |
tag_value | target tag value |
pt | primitive type of the tag |
child_is_free | child mesh has a free topology |
Definition at line 202 of file extract_child_mesh_from_tag.cpp.
References extract_and_register_child_mesh_from_tag_handle(), wmtk::Mesh::get_attribute_handle(), and wmtk::Mesh::top_simplex_type().
Referenced by wmtk::components::multimesh::multimesh(), and TEST_CASE().
std::shared_ptr< Mesh > wmtk::multimesh::utils::extract_and_register_child_mesh_from_tag | ( | wmtk::attribute::MeshAttributeHandle & | tag_handle, |
const wmtk::attribute::MeshAttributeHandle::ValueVariant & | tag_value, | ||
bool | child_is_free = false |
||
) |
extract a child mesh based on the tag handle and the tag value, and register it to the input (parent) mesh
m | mesh |
tag_handle | attribute handle of the tag. The tag represents the child mesh that should be extracted. |
tag_value | target tag value |
child_is_free | child mesh has a free topology |
Definition at line 227 of file extract_child_mesh_from_tag.cpp.
References wmtk::multimesh::utils::internal::TupleTag::extract_and_register_child_mesh_from_tag_handle(), wmtk::attribute::MeshAttributeHandle::handle(), wmtk::log_and_throw_error(), and wmtk::attribute::MeshAttributeHandle::mesh().
std::shared_ptr< Mesh > wmtk::multimesh::utils::extract_and_register_child_mesh_from_tag_handle | ( | Mesh & | m, |
const wmtk::attribute::TypedAttributeHandle< int64_t > & | tag_handle, | ||
const int64_t | tag_value, | ||
bool | child_is_free = false |
||
) |
extract a child mesh based on the tag handle and the tag value, and register it to the input (parent) mesh
m | mesh |
tag_handle | attribute handle of the tag. The tag represents the child mesh that should be extracted. |
tag_value | target tag value |
child_is_free | child mesh has a free topology |
Definition at line 214 of file extract_child_mesh_from_tag.cpp.
References wmtk::multimesh::utils::internal::TupleTag::extract_and_register_child_mesh_from_tag_handle().
Referenced by extract_and_register_child_mesh_from_tag(), and wmtk::components::triangle_insertion::triangle_insertion().
int8_t wmtk::multimesh::utils::find_local_dart_action | ( | const wmtk::autogen::SimplexDart & | sd, |
const Tuple & | source, | ||
const Tuple & | target | ||
) |
Definition at line 17 of file find_local_dart_action.cpp.
References wmtk::autogen::find_local_dart_action(), and wmtk::autogen::SimplexDart::valid_index_from_tuple().
int8_t wmtk::multimesh::utils::find_local_dart_action | ( | const wmtk::autogen::SimplexDart & | sd, |
const wmtk::autogen::Dart & | source, | ||
const wmtk::autogen::Dart & | target | ||
) |
Definition at line 28 of file find_local_dart_action.cpp.
References wmtk::autogen::find_local_dart_action(), and wmtk::autogen::Dart::local_orientation().
int8_t wmtk::multimesh::utils::find_local_dart_action | ( | PrimitiveType | pt, |
const Tuple & | source, | ||
const Tuple & | target | ||
) |
Definition at line 12 of file find_local_dart_action.cpp.
Referenced by wmtk::operations::internal::CollapseAlternateFacetData::get_alternatives(), and transport_tuple().
std::vector< PrimitiveType > wmtk::multimesh::utils::find_local_switch_sequence | ( | const Tuple & | source, |
const Tuple & | target, | ||
PrimitiveType | primitive_type | ||
) |
Definition at line 149 of file find_local_switch_sequence.cpp.
References wmtk::Edge, wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.
Referenced by wmtk::multimesh::utils::internal::transport_tuple_sequence().
std::vector< PrimitiveType > wmtk::multimesh::utils::find_local_switch_sequence_to_face | ( | const Tuple & | source, |
const Tuple & | target, | ||
PrimitiveType | subtuple_dimension, | ||
PrimitiveType | primitive_type | ||
) |
Definition at line 11 of file find_local_switch_sequence_to_face.cpp.
References wmtk::utils::TupleInspector::local_id().
Tuple wmtk::multimesh::utils::local_switch_tuple | ( | PrimitiveType | mesh_primitive_type, |
const Tuple & | source, | ||
PrimitiveType | primitive_type | ||
) |
Definition at line 8 of file local_switch_tuple.cpp.
References wmtk::Edge, wmtk::autogen::edge_mesh::local_switch_tuple(), wmtk::autogen::tet_mesh::local_switch_tuple(), wmtk::autogen::tri_mesh::local_switch_tuple(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.
Referenced by local_switch_tuples().
Tuple wmtk::multimesh::utils::local_switch_tuples | ( | PrimitiveType | mesh_primitive_type, |
const Tuple & | tuple, | ||
const ContainerType & | sequence | ||
) |
Definition at line 43 of file local_switch_tuple.hpp.
References local_switch_tuple().
Tuple wmtk::multimesh::utils::local_switch_tuples | ( | PrimitiveType | mesh_primitive_type, |
const Tuple & | tuple, | ||
const std::initializer_list< PrimitiveType > & | op_sequence | ||
) |
Definition at line 24 of file local_switch_tuple.cpp.
Referenced by wmtk::multimesh::utils::internal::transport_tuple_sequence().
std::tuple< Tuple, Tuple > wmtk::multimesh::utils::read_tuple_map_attribute | ( | const wmtk::attribute::Accessor< int64_t, MeshType > & | accessor, |
const Tuple & | source_tuple | ||
) |
Definition at line 78 of file tuple_map_attribute_io.cpp.
References wmtk::attribute::Accessor< T, MeshType, Dim >::const_vector_attribute(), wmtk::attribute::TupleAccessor< MeshType, Dim >::const_vector_attribute(), wmtk::attribute::Accessor< T, MeshType, Dim >::dimension(), and wmtk::attribute::TupleAccessor< MeshType, Dim >::dimension().
Referenced by wmtk::multimesh::utils::MapValidator::check_child_map_attributes_valid(), wmtk::multimesh::utils::MapValidator::check_parent_map_attribute_valid(), wmtk::multimesh::MultiMeshManager::map_tuple_between_meshes(), and read_tuple_map_attribute_slow().
template std::tuple<Tuple, Tuple> wmtk::multimesh::utils::read_tuple_map_attribute | ( | const wmtk::attribute::Accessor< int64_t, wmtk::EdgeMesh > & | accessor, |
const Tuple & | source_tuple | ||
) |
template std::tuple<Tuple, Tuple> wmtk::multimesh::utils::read_tuple_map_attribute | ( | const wmtk::attribute::Accessor< int64_t, wmtk::Mesh > & | accessor, |
const Tuple & | source_tuple | ||
) |
template std::tuple<Tuple, Tuple> wmtk::multimesh::utils::read_tuple_map_attribute | ( | const wmtk::attribute::Accessor< int64_t, wmtk::TetMesh > & | accessor, |
const Tuple & | source_tuple | ||
) |
template std::tuple<Tuple, Tuple> wmtk::multimesh::utils::read_tuple_map_attribute | ( | const wmtk::attribute::Accessor< int64_t, wmtk::TriMesh > & | accessor, |
const Tuple & | source_tuple | ||
) |
std::tuple<Tuple, Tuple> wmtk::multimesh::utils::read_tuple_map_attribute_slow | ( | const Mesh & | source_mesh, |
TypedAttributeHandle< int64_t > | map_handle, | ||
const Tuple & | source_tuple | ||
) |
Definition at line 158 of file tuple_map_attribute_io.cpp.
References wmtk::Mesh::create_const_accessor(), and read_tuple_map_attribute().
Referenced by wmtk::multimesh::MultiMeshManager::check_child_map_valid().
void wmtk::multimesh::utils::symmetric_write_tuple_map_attributes | ( | wmtk::attribute::Accessor< int64_t, MeshA > & | a_to_b, |
wmtk::attribute::Accessor< int64_t, MeshB > & | b_to_a, | ||
const Tuple & | a_tuple, | ||
const Tuple & | b_tuple | ||
) |
Definition at line 39 of file tuple_map_attribute_io.hpp.
References write_tuple_map_attribute().
Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()(), wmtk::multimesh::MultiMeshManager::register_child_mesh(), wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement(), wmtk::multimesh::MultiMeshManager::update_map_tuple_hashes(), and wmtk::multimesh::MultiMeshManager::update_maps_from_edge_operation().
wmtk::attribute::MeshAttributeHandle wmtk::multimesh::utils::transfer_attribute | ( | const wmtk::attribute::MeshAttributeHandle & | original_handle, |
Mesh & | m | ||
) |
Definition at line 8 of file transfer_attribute.cpp.
References wmtk::Mesh::get_attribute_name(), wmtk::attribute::MeshAttributeHandle::handle(), and wmtk::attribute::MeshAttributeHandle::mesh().
wmtk::attribute::MeshAttributeHandle wmtk::multimesh::utils::transfer_attribute | ( | const wmtk::attribute::MeshAttributeHandle & | original_handle, |
Mesh & | m, | ||
const std::string & | new_attribute_name | ||
) |
Definition at line 16 of file transfer_attribute.cpp.
References wmtk::attribute::MeshAttributeHandle::handle().
Tuple wmtk::multimesh::utils::transport_tuple | ( | const Tuple & | base_source, |
const Tuple & | base_target, | ||
PrimitiveType | base_primitive_type, | ||
const Tuple & | source, | ||
PrimitiveType | primitive_type | ||
) |
Definition at line 36 of file transport_tuple.cpp.
References wmtk::multimesh::utils::internal::transport_tuple_dart().
Referenced by wmtk::multimesh::MultiMeshManager::map_tuple_between_meshes(), wmtk::multimesh::utils::internal::transport_tuple_dart(), and wmtk::multimesh::MultiMeshManager::update_map_tuple_hashes().
Tuple wmtk::multimesh::utils::transport_tuple | ( | const wmtk::autogen::SimplexDart & | base_sd, |
const wmtk::autogen::SimplexDart & | sd, | ||
const Tuple & | base_source, | ||
const Tuple & | base_target, | ||
const Tuple & | source | ||
) |
Definition at line 63 of file transport_tuple.cpp.
References wmtk::autogen::SimplexDart::convert(), find_local_dart_action(), wmtk::autogen::SimplexDart::product(), wmtk::autogen::SimplexDart::update_tuple_from_valid_index(), and wmtk::autogen::SimplexDart::valid_index_from_tuple().
Definition at line 45 of file tuple_map_attribute_io.cpp.
References tuple_to_vector2(), and tuple_to_vector5().
Referenced by tuples_to_vectors().
Definition at line 19 of file tuple_map_attribute_io.cpp.
Referenced by tuple_to_vector().
Definition at line 30 of file tuple_map_attribute_io.cpp.
References wmtk::utils::TupleInspector::global_cid(), wmtk::utils::TupleInspector::local_eid(), wmtk::utils::TupleInspector::local_fid(), and wmtk::utils::TupleInspector::local_vid().
Referenced by tuple_to_vector().
TwoTupleVector wmtk::multimesh::utils::tuples_to_vectors | ( | const Tuple & | a, |
const Tuple & | b | ||
) |
Definition at line 68 of file tuple_map_attribute_io.cpp.
References tuple_to_vector().
Definition at line 25 of file tuple_map_attribute_io.cpp.
Referenced by vector_to_tuple().
Definition at line 40 of file tuple_map_attribute_io.cpp.
Referenced by vector_to_tuple().
Tuple wmtk::multimesh::utils::vector_to_tuple | ( | const Eigen::Ref< const TupleVector > & | v | ) |
Definition at line 53 of file tuple_map_attribute_io.cpp.
References vector2_to_tuple(), and vector5_to_tuple().
Referenced by vectors_to_tuples().
std::tuple< Tuple, Tuple > wmtk::multimesh::utils::vectors_to_tuples | ( | const Eigen::Ref< const TwoTupleVector > & | v | ) |
Definition at line 62 of file tuple_map_attribute_io.cpp.
References vector_to_tuple().
Referenced by print_tuple_map_iso(), wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement(), wmtk::multimesh::MultiMeshManager::update_map_tuple_hashes(), and wmtk::multimesh::MultiMeshManager::update_maps_from_edge_operation().
void wmtk::multimesh::utils::write_tuple_map_attribute | ( | wmtk::attribute::Accessor< int64_t, MeshType > & | map_accessor, |
const Tuple & | source_tuple, | ||
const Tuple & | target_tuple | ||
) |
Definition at line 112 of file tuple_map_attribute_io.cpp.
References wmtk::attribute::Accessor< T, MeshType, Dim >::const_vector_attribute(), wmtk::attribute::Accessor< T, MeshType, Dim >::dimension(), wmtk::attribute::TupleAccessor< MeshType, Dim >::dimension(), and wmtk::attribute::TupleAccessor< MeshType, Dim >::vector_attribute().
Referenced by symmetric_write_tuple_map_attributes(), and write_tuple_map_attribute_slow().
template void wmtk::multimesh::utils::write_tuple_map_attribute | ( | wmtk::attribute::Accessor< int64_t, wmtk::EdgeMesh > & | map_accessor, |
const Tuple & | source_tuple, | ||
const Tuple & | target_tuple | ||
) |
template void wmtk::multimesh::utils::write_tuple_map_attribute | ( | wmtk::attribute::Accessor< int64_t, wmtk::Mesh > & | map_accessor, |
const Tuple & | source_tuple, | ||
const Tuple & | target_tuple | ||
) |
template void wmtk::multimesh::utils::write_tuple_map_attribute | ( | wmtk::attribute::Accessor< int64_t, wmtk::TetMesh > & | map_accessor, |
const Tuple & | source_tuple, | ||
const Tuple & | target_tuple | ||
) |
template void wmtk::multimesh::utils::write_tuple_map_attribute | ( | wmtk::attribute::Accessor< int64_t, wmtk::TriMesh > & | map_accessor, |
const Tuple & | source_tuple, | ||
const Tuple & | target_tuple | ||
) |
void wmtk::multimesh::utils::write_tuple_map_attribute_slow | ( | Mesh & | source_mesh, |
TypedAttributeHandle< int64_t > | map_handle, | ||
const Tuple & | source_tuple, | ||
const Tuple & | target_tuple | ||
) |
Definition at line 149 of file tuple_map_attribute_io.cpp.
References wmtk::Mesh::create_accessor(), and write_tuple_map_attribute().