20 return m.tuple_from_id(type, gid);
29 m_op_data = std::make_unique<internal::SplitAlternateFacetData>();
33 m_op_data = std::make_unique<internal::CollapseAlternateFacetData>();
38 const auto& ptr = std::get<std::unique_ptr<internal::SplitAlternateFacetData>>(
m_op_data);
40 throw std::runtime_error(
41 "Split alternate facet data does not exist, ptr in variant was null");
47 const auto& ptr = std::get<std::unique_ptr<internal::CollapseAlternateFacetData>>(
m_op_data);
49 throw std::runtime_error(
50 "Collapse alternate facet data does not exist, ptr in variant was null");
56 auto& ptr = std::get<std::unique_ptr<internal::SplitAlternateFacetData>>(
m_op_data);
58 throw std::runtime_error(
59 "Split alternate facet data does not exist, ptr in variant was null");
65 auto& ptr = std::get<std::unique_ptr<internal::CollapseAlternateFacetData>>(
m_op_data);
67 throw std::runtime_error(
68 "Collapse alternate facet data does not exist, ptr in variant was null");
void guarantee_more_attributes(PrimitiveType type, int64_t size)
simplex::NavigatableSimplex simplex_from_id(const PrimitiveType type, const int64_t gid) const
std::vector< int64_t > request_simplex_indices(PrimitiveType type, int64_t count)
EdgeOperationData & operator=(EdgeOperationData &&)
const internal::SplitAlternateFacetData & const_split_facet_data() const
Returns facet data held if the edge operation was a split - throws if data does not exist.
internal::SplitAlternateFacetData & split_facet_data()
Returns facet data held if the edge operation was a split - throws if data does not exist.
static Tuple tuple_from_id(const Mesh &m, const PrimitiveType type, const int64_t gid)
std::variant< std::unique_ptr< internal::SplitAlternateFacetData >, std::unique_ptr< internal::CollapseAlternateFacetData > > m_op_data
static std::vector< int64_t > request_simplex_indices(Mesh &mesh, const PrimitiveType type, int64_t count)
static simplex::Simplex simplex_from_id(const Mesh &m, const PrimitiveType type, const int64_t gid)
internal::CollapseAlternateFacetData & collapse_facet_data()
Returns facet data held if the edge operation was a collapse- throws if data does not exist.
const internal::CollapseAlternateFacetData & const_collapse_facet_data() const
Returns facet data held if the edge operation was a collapse- throws if data does not exist.
Given a global id returns global ids.