Generated from: MR::UndirectedEdgeId
Aliases: UndirectedEdgeIterator.value_type, AABBTreeTraits_UndirectedEdgeTag_Box3f.LeafId, AABBTreeNode_AABBTreeTraits_UndirectedEdgeTag_Box3f.LeafId, Vector_UndirectedEdgeId_UndirectedEdgeId_const_reference, PolylineUndirectedEdgeIterator.value_type, TypedBitSet_UndirectedEdgeId_IndexType, AABBTreeTraits_UndirectedEdgeTag_Box2f.LeafId, AABBTreeBase_AABBTreeTraits_UndirectedEdgeTag_Box3f.LeafId, AABBTreeBase_AABBTreeTraits_UndirectedEdgeTag_Box2f.LeafId, Vector_UndirectedEdgeId_UndirectedEdgeId_value_type, AABBTreeNode_AABBTreeTraits_UndirectedEdgeTag_Box2f.LeafId, Vector_UndirectedEdgeId_UndirectedEdgeId_reference
stores index of some element, it is made as template class to avoid mixing faces, edges and vertices
| None mrmeshpy.UndirectedEdgeId.__init__ |
( |
| self, |
|
|
int | i ) |
Allow constructing from `int` and other integral types.
This constructor is written like this instead of a plain `Id(int)`, because we also wish to disable construction
from other unrelated `Id<U>` specializations, which themselves have implicit conversions to `int`.
We could also achieve that using `template <typename U> Id(Id<U>) = delete;`, but it turns out that that causes issues
for the `EdgeId::operator UndirectedEdgeId` below. There, while `UndirectedEdgeId x = EdgeId{};` compiles with this approach,
but `UndirectedEdgeId x(EdgeId{});` doesn't. So to allow both forms, this constructor must be written this way, as a template.
The `= int` is there only to make the bindings emit this constructor, I don't think it affects anything else.
Reimplemented in mrmeshpy.NoDefInit_UndirectedEdgeId, mrmeshpy.NoDefInit_UndirectedEdgeId, and mrmeshpy.NoDefInit_UndirectedEdgeId.
| None mrmeshpy.UndirectedEdgeId.__init__ |
( |
| self, |
|
|
int | i ) |
Allow constructing from `int` and other integral types.
This constructor is written like this instead of a plain `Id(int)`, because we also wish to disable construction
from other unrelated `Id<U>` specializations, which themselves have implicit conversions to `int`.
We could also achieve that using `template <typename U> Id(Id<U>) = delete;`, but it turns out that that causes issues
for the `EdgeId::operator UndirectedEdgeId` below. There, while `UndirectedEdgeId x = EdgeId{};` compiles with this approach,
but `UndirectedEdgeId x(EdgeId{});` doesn't. So to allow both forms, this constructor must be written this way, as a template.
The `= int` is there only to make the bindings emit this constructor, I don't think it affects anything else.
Reimplemented in mrmeshpy.NoDefInit_UndirectedEdgeId, mrmeshpy.NoDefInit_UndirectedEdgeId, and mrmeshpy.NoDefInit_UndirectedEdgeId.