@@ -110,10 +110,12 @@ void SimplicialEmbedding::regularize_tags(bool generate_simplicial_embedding)
110110 if (m_mesh.has_attribute <double >(" vertices" , PrimitiveType::Vertex)) {
111111 const auto pos_handle =
112112 m_mesh.get_attribute_handle <double >(" vertices" , PrimitiveType::Vertex);
113- SimplexInversionInvariant<double > inv (pos_handle.mesh (), pos_handle.as <double >());
113+ if (pos_handle.dimension () == m_mesh.top_cell_dimension () - 1 ) {
114+ SimplexInversionInvariant<double > inv (pos_handle.mesh (), pos_handle.as <double >());
114115
115- if (!inv.after ({}, m_mesh.get_all (m_mesh.top_simplex_type ()))) {
116- logger ().error (" Mesh is not inversion free BEFORE simplicial embedding!" );
116+ if (!inv.after ({}, m_mesh.get_all (m_mesh.top_simplex_type ()))) {
117+ logger ().error (" Mesh is not inversion free BEFORE simplicial embedding!" );
118+ }
117119 }
118120 }
119121
@@ -295,8 +297,12 @@ void SimplicialEmbedding::regularize_tags(bool generate_simplicial_embedding)
295297 m_mesh.get_attribute_handle <double >(" vertices" , PrimitiveType::Vertex);
296298 SimplexInversionInvariant<double > inv (pos_handle.mesh (), pos_handle.as <double >());
297299
298- if (!inv.after ({}, m_mesh.get_all (m_mesh.top_simplex_type ()))) {
299- logger ().error (" Mesh is not inversion free after simplicial embedding!" );
300+ if (pos_handle.dimension () == m_mesh.top_cell_dimension () - 1 ) {
301+ SimplexInversionInvariant<double > inv (pos_handle.mesh (), pos_handle.as <double >());
302+
303+ if (!inv.after ({}, m_mesh.get_all (m_mesh.top_simplex_type ()))) {
304+ logger ().error (" Mesh is not inversion free after simplicial embedding!" );
305+ }
300306 }
301307 }
302308}
0 commit comments