123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #ifndef IGL_HALFEDGEITERATOR_H
- #define IGL_HALFEDGEITERATOR_H
- #include <Eigen/Core>
- #include <vector>
- #include <igl/igl_inline.h>
- namespace igl
- {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- template <
- typename DerivedF,
- typename DerivedFF,
- typename DerivedFFi>
- class HalfEdgeIterator
- {
- public:
-
- IGL_INLINE HalfEdgeIterator(
- const Eigen::PlainObjectBase<DerivedF>& _F,
- const Eigen::PlainObjectBase<DerivedFF>& _FF,
- const Eigen::PlainObjectBase<DerivedFFi>& _FFi,
- int _fi,
- int _ei,
- bool _reverse = false
- );
-
- IGL_INLINE void flipF();
-
- IGL_INLINE void flipE();
-
- IGL_INLINE void flipV();
- IGL_INLINE bool isBorder();
-
- IGL_INLINE bool NextFE();
-
- IGL_INLINE int Vi();
-
- IGL_INLINE int Fi();
-
- IGL_INLINE int Ei();
- IGL_INLINE bool operator==(HalfEdgeIterator& p2);
- private:
- int fi;
- int ei;
- bool reverse;
-
- const Eigen::PlainObjectBase<DerivedF> & F;
- const Eigen::PlainObjectBase<DerivedFF> & FF;
- const Eigen::PlainObjectBase<DerivedFFi> & FFi;
- };
- }
- #ifndef IGL_STATIC_LIBRARY
- # include "HalfEdgeIterator.cpp"
- #endif
- #endif
|