template<typename DerivedV, typename DerivedF, typename VFType, typename DerivedTT, typename DerivedC>
class igl::MeshCutterMini< DerivedV, DerivedF, VFType, DerivedTT, DerivedC >
template<typename DerivedV , typename DerivedF , typename VFType , typename DerivedTT , typename DerivedC >
| IGL_INLINE igl::MeshCutterMini< DerivedV, DerivedF, VFType, DerivedTT, DerivedC >::MeshCutterMini |
( |
const Eigen::PlainObjectBase< DerivedV > & |
_V, |
|
|
const Eigen::PlainObjectBase< DerivedF > & |
_F, |
|
|
const Eigen::PlainObjectBase< DerivedTT > & |
_TT, |
|
|
const Eigen::PlainObjectBase< DerivedTT > & |
_TTi, |
|
|
const std::vector< std::vector< VFType > > & |
_VF, |
|
|
const std::vector< std::vector< VFType > > & |
_VFi, |
|
|
const std::vector< bool > & |
_V_border, |
|
|
const Eigen::PlainObjectBase< DerivedC > & |
_Handle_Seams |
|
) |
| |
94 :
103{
107}
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const
Definition PlainObjectBase.h:151
const std::vector< std::vector< VFType > > & VF
Definition cut_mesh.cpp:31
const Eigen::PlainObjectBase< DerivedC > & Handle_Seams
Definition cut_mesh.cpp:35
const std::vector< bool > & V_border
Definition cut_mesh.cpp:33
const Eigen::PlainObjectBase< DerivedF > & F
Definition cut_mesh.cpp:27
int num_scalar_variables
Definition cut_mesh.cpp:38
DerivedF HandleS_Index
Definition cut_mesh.cpp:41
const Eigen::PlainObjectBase< DerivedV > & V
Definition cut_mesh.cpp:26
const Eigen::PlainObjectBase< DerivedTT > & TT
Definition cut_mesh.cpp:29
const std::vector< std::vector< VFType > > & VFi
Definition cut_mesh.cpp:32
const Eigen::PlainObjectBase< DerivedTT > & TTi
Definition cut_mesh.cpp:30
std::vector< std::vector< int > > HandleV_Integer
Definition cut_mesh.cpp:44
References igl::MeshCutterMini< DerivedV, DerivedF, VFType, DerivedTT, DerivedC >::F, igl::MeshCutterMini< DerivedV, DerivedF, VFType, DerivedTT, DerivedC >::HandleS_Index, igl::MeshCutterMini< DerivedV, DerivedF, VFType, DerivedTT, DerivedC >::HandleV_Integer, igl::MeshCutterMini< DerivedV, DerivedF, VFType, DerivedTT, DerivedC >::num_scalar_variables, Eigen::PlainObjectBase< Derived >::rows(), and igl::MeshCutterMini< DerivedV, DerivedF, VFType, DerivedTT, DerivedC >::V.
template<typename DerivedV , typename DerivedF , typename VFType , typename DerivedTT , typename DerivedC >
find initial position of the pos to
test if I've just crossed a border
or if I've just crossed a seam if I'm on a border I MUST start from the one next t othe border
152{
153 int f_init;
154 int edge_init;
157
159 bool possible_split=false;
160 bool complete_turn=false;
161 do
162 {
163 int curr_f = VFI.Fi();
164 int curr_edge=VFI.Ei();
165 VFI.NextFE();
166 int next_f=VFI.Fi();
168 bool on_border=(
TT(curr_f,curr_edge)==-1);
169
170 bool seam=false;
171
174 if (!vertexB)
175
176 seam=
IsSeam(curr_f,next_f);
177
178
179
180
181 possible_split=((on_border)||(seam));
182 complete_turn = next_f == f_init;
183 } while ((!possible_split)&&(!complete_turn));
184 face=VFI.Fi();
185 edge=VFI.Ei();
186}
Definition HalfEdgeIterator.h:48
IGL_INLINE bool IsSeam(const int f0, const int f1)
Definition cut_mesh.cpp:129
IGL_INLINE void FirstPos(const int v, int &f, int &edge)
Definition cut_mesh.cpp:112
References igl::HalfEdgeIterator< DerivedF, DerivedFF, DerivedFFi >::Ei(), igl::HalfEdgeIterator< DerivedF, DerivedFF, DerivedFFi >::Fi(), and igl::HalfEdgeIterator< DerivedF, DerivedFF, DerivedFFi >::NextFE().
template<typename DerivedV , typename DerivedF , typename VFType , typename DerivedTT , typename DerivedC >