Template Class BaseCirculator

Class Documentation

template<typename Trait, bool CW = true>
class BaseCirculator

Circulator的基类 通过Trait知道中心和遍历元素的类型, 通过CW知道是顺时针旋转还是逆时针旋转 目前还没有实现跳过被删除的元素, 因为Mesh还没有实现删除元素的功能

Public Types

using CenterEntityHandle = typename Trait::CenterEntityHandle
using ValueHandle = typename Trait::ValueHandle
using SmartValueHandle = decltype(make_smart(std::declval<ValueHandle>(), std::declval<MeshKernel>()))

Public Functions

BaseCirculator() = default
inline BaseCirculator(const MeshKernel *mesh, CenterEntityHandle center)
inline SmartValueHandle operator*() const
inline BaseCirculator &operator++()
inline BaseCirculator &operator++(int)
inline BaseCirculator &operator--()
inline BaseCirculator &operator--(int)
inline BaseCirculator &operator=(const BaseCirculator &rhs)
inline bool operator==(const BaseCirculator &rhs) const
inline bool operator!=(const BaseCirculator &rhs) const
inline operator bool() const

这个迭代器是否有效

inline HalfedgeHandle halfedge() const
inline BaseCirculator &begin()

用于c++11的 range-based for

inline BaseCirculator &end()

用于c++11的 range-based for