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