Generated from: MR::FaceId
Aliases: AABBTreeNode_AABBTreeTraits_FaceTag_Box3f.LeafId, Vector_FaceId_FaceId_const_reference, AABBTreeBase_AABBTreeTraits_FaceTag_Box3f.LeafId, Vector_FaceId_FaceId_reference, TypedBitSet_FaceId_IndexType, AABBTreeTraits_FaceTag_Box3f.LeafId, Vector_FaceId_FaceId_value_type
stores index of some element, it is made as template class to avoid mixing faces, edges and vertices
None mrmeshpy.FaceId.__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.
Reimplemented in mrmeshpy.NoDefInit_FaceId, and mrmeshpy.NoDefInit_FaceId.
None mrmeshpy.FaceId.__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.
Reimplemented in mrmeshpy.NoDefInit_FaceId, and mrmeshpy.NoDefInit_FaceId.
None mrmeshpy.FaceId.__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.
Reimplemented in mrmeshpy.NoDefInit_FaceId, and mrmeshpy.NoDefInit_FaceId.