11class UndirectedEdgeIterator
14 using iterator_category = std::forward_iterator_tag;
15 using value_type = UndirectedEdgeId;
20 if ( topology_->undirectedEdgeSize() == 0 )
22 edge_ = UndirectedEdgeId{0};
23 if ( topology_->isLoneEdge( edge_ ) )
31 assert( edge_.
valid() );
35 if ( edge_ >= topology_->undirectedEdgeSize() )
37 edge_ = UndirectedEdgeId{};
40 if ( !topology_->isLoneEdge( edge_ ) )
45 UndirectedEdgeId operator *( )
const {
return edge_; }
48 const MeshTopology * topology_ =
nullptr;
49 UndirectedEdgeId edge_;
Definition MRMesh/MRMeshTopology.h:19
Definition MREdgeIterator.h:12
unsafe UndirectedEdgeIterator()
MRMESH_API bool operator==(const BitSet &a, const BitSet &b)
compare that two bit sets have the same set bits (they can be equal even if sizes are distinct but la...
Definition MRCameraOrientationPlugin.h:8
bool operator!=(const Color &a, const Color &b)
Definition MRMesh/MRColor.h:101
IteratorRange< UndirectedEdgeIterator > undirectedEdges(const MeshTopology &topology)
Definition MREdgeIterator.h:58
Definition MRMeshFwd.h:505
readonly unsafe bool valid()