33 typedef typename DerivedV::Scalar
Scalar;
46 Eigen::AlignedBox<Scalar,DIM>
m_box;
58 static_assert(DerivedV::ColsAtCompileTime == DIM || DerivedV::ColsAtCompileTime == Eigen::Dynamic,
"DerivedV::ColsAtCompileTime == DIM || DerivedV::ColsAtCompileTime == Eigen::Dynamic");
106 m_box = Eigen::AlignedBox<Scalar,DIM>();
128 typename Derivedbb_mins,
129 typename Derivedbb_maxs,
130 typename Derivedelements>
132 const Eigen::MatrixBase<DerivedV> & V,
133 const Eigen::MatrixBase<DerivedEle> & Ele,
134 const Eigen::MatrixBase<Derivedbb_mins> & bb_mins,
135 const Eigen::MatrixBase<Derivedbb_maxs> & bb_maxs,
136 const Eigen::MatrixBase<Derivedelements> & elements,
143 template <
typename DerivedEle>
145 const Eigen::MatrixBase<DerivedV> & V,
146 const Eigen::MatrixBase<DerivedEle> & Ele);
158 template <
typename DerivedEle,
typename DerivedSI,
typename DerivedI>
160 const Eigen::MatrixBase<DerivedV> & V,
161 const Eigen::MatrixBase<DerivedEle> & Ele,
162 const Eigen::MatrixBase<DerivedSI> & SI,
163 const Eigen::MatrixBase<DerivedI>& I);
176 template <
typename DerivedEle,
typename Derivedq>
178 const Eigen::MatrixBase<DerivedV> & V,
179 const Eigen::MatrixBase<DerivedEle> & Ele,
180 const Eigen::MatrixBase<Derivedq> & q,
181 const bool first=
false)
const;
196 typename Derivedbb_mins,
197 typename Derivedbb_maxs,
198 typename Derivedelements>
200 Eigen::PlainObjectBase<Derivedbb_mins> & bb_mins,
201 Eigen::PlainObjectBase<Derivedbb_maxs> & bb_maxs,
202 Eigen::PlainObjectBase<Derivedelements> & elements,
203 const int i = 0)
const;
215 template <
typename DerivedEle>
217 const Eigen::MatrixBase<DerivedV> & V,
218 const Eigen::MatrixBase<DerivedEle> & Ele,
221 Eigen::PlainObjectBase<RowVectorDIMS> & c)
const;
239 template <
typename DerivedEle>
241 const Eigen::MatrixBase<DerivedV> & V,
242 const Eigen::MatrixBase<DerivedEle> & Ele,
247 Eigen::PlainObjectBase<RowVectorDIMS> & c)
const;
260 template <
typename DerivedEle>
262 const Eigen::MatrixBase<DerivedV> & V,
263 const Eigen::MatrixBase<DerivedEle> & Ele,
267 Eigen::PlainObjectBase<RowVectorDIMS> & c)
const;
276 template <
typename DerivedEle>
278 const Eigen::MatrixBase<DerivedV> & V,
279 const Eigen::MatrixBase<DerivedEle> & Ele,
282 std::vector<igl::Hit> & hits)
const;
291 template <
typename DerivedEle>
293 const Eigen::MatrixBase<DerivedV> & V,
294 const Eigen::MatrixBase<DerivedEle> & Ele,
307 template <
typename DerivedEle>
309 const Eigen::MatrixBase<DerivedV> & V,
310 const Eigen::MatrixBase<DerivedEle> & Ele,
330 typename DerivedsqrD,
334 const Eigen::MatrixBase<DerivedV> & V,
335 const Eigen::MatrixBase<DerivedEle> & Ele,
336 const Eigen::MatrixBase<DerivedP> & P,
337 Eigen::PlainObjectBase<DerivedsqrD> & sqrD,
338 Eigen::PlainObjectBase<DerivedI> & I,
339 Eigen::PlainObjectBase<DerivedC> & C)
const;
356 typename Derivedother_V,
357 typename Derivedother_Ele,
358 typename DerivedsqrD,
362 const Eigen::MatrixBase<DerivedV> & V,
363 const Eigen::MatrixBase<DerivedEle> & Ele,
365 const Eigen::MatrixBase<Derivedother_V> & other_V,
366 const Eigen::MatrixBase<Derivedother_Ele> & other_Ele,
367 Eigen::PlainObjectBase<DerivedsqrD> & sqrD,
368 Eigen::PlainObjectBase<DerivedI> & I,
369 Eigen::PlainObjectBase<DerivedC> & C)
const;
373 typename Derivedother_V,
374 typename Derivedother_Ele,
375 typename DerivedsqrD,
379 const Eigen::MatrixBase<DerivedV> & V,
380 const Eigen::MatrixBase<DerivedEle> & Ele,
382 const Eigen::MatrixBase<Derivedother_V> & other_V,
383 const Eigen::MatrixBase<Derivedother_Ele>& other_Ele,
385 Eigen::PlainObjectBase<DerivedsqrD> & sqrD,
386 Eigen::PlainObjectBase<DerivedI> & I,
387 Eigen::PlainObjectBase<DerivedC> & C)
const;
403 template <
typename DerivedEle>
405 const Eigen::MatrixBase<DerivedV> & V,
406 const Eigen::MatrixBase<DerivedEle> & Ele,
411 Eigen::PlainObjectBase<RowVectorDIMS> & c)
const;
413 template <
typename DerivedEle>
415 const Eigen::MatrixBase<DerivedV> & V,
416 const Eigen::MatrixBase<DerivedEle> & Ele,
420 Eigen::PlainObjectBase<RowVectorDIMS> & c)
const;
440 const Scalar sqr_d_candidate,
441 const int i_candidate,
445 Eigen::PlainObjectBase<RowVectorDIMS> & c)
const;
455 template <
typename DerivedEle>
457 const Eigen::MatrixBase<DerivedV> & V,
458 const Eigen::MatrixBase<DerivedEle> & Ele,
463 std::vector<igl::Hit> & hits)
const;
473 template <
typename DerivedEle>
475 const Eigen::MatrixBase<DerivedV> & V,
476 const Eigen::MatrixBase<DerivedEle> & Ele,
484 EIGEN_MAKE_ALIGNED_OPERATOR_NEW