libigl v2.5.0
Loading...
Searching...
No Matches
HalfEdgeIterator.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2014 Daniele Panozzo <daniele.panozzo@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
8#ifndef IGL_HALFEDGEITERATOR_H
9#define IGL_HALFEDGEITERATOR_H
10
11#include <Eigen/Core>
12
13#include <vector>
14#include "igl_inline.h"
15
16
17namespace igl
18{
32 template <
33 typename DerivedF,
34 typename DerivedFF,
35 typename DerivedFFi>
37 {
38 public:
49 const Eigen::MatrixBase<DerivedF>& _F,
50 const Eigen::MatrixBase<DerivedFF>& _FF,
51 const Eigen::MatrixBase<DerivedFFi>& _FFi,
52 int _fi,
53 int _ei,
54 bool _reverse = false
55 );
56
59
62
65
69
84
88
92
96
100
101 private:
102 int fi;
103 int ei;
104 bool reverse;
105
106 // All the same type? This is likely to break.
107 const Eigen::MatrixBase<DerivedF> & F;
108 const Eigen::MatrixBase<DerivedFF> & FF;
109 const Eigen::MatrixBase<DerivedFFi> & FFi;
110 };
111
112}
113
114#ifndef IGL_STATIC_LIBRARY
115# include "HalfEdgeIterator.cpp"
116#endif
117
118#endif
Fake halfedge for fast and easy navigation on triangle meshes with vertex_triangle_adjacency and tria...
Definition HalfEdgeIterator.h:37
void flipE()
Change Edge.
void flipV()
Change Vertex.
int Ei()
Get edge index.
int Vi()
Get vertex index.
void flipF()
Change Face.
bool operator==(HalfEdgeIterator &p2)
Check if two HalfEdgeIterator are the same.
bool isBorder()
Determine if on border.
int Fi()
Get face index.
HalfEdgeIterator(const Eigen::MatrixBase< DerivedF > &_F, const Eigen::MatrixBase< DerivedFF > &_FF, const Eigen::MatrixBase< DerivedFFi > &_FFi, int _fi, int _ei, bool _reverse=false)
Init the HalfEdgeIterator by specifying Face,Edge Index and Orientation.
bool NextFE()
Change to next edge skipping the border.
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17