diff --git a/include/igl/ambient_occlusion.cpp b/include/igl/ambient_occlusion.cpp index 343f8ae8a..70538e7f5 100644 --- a/include/igl/ambient_occlusion.cpp +++ b/include/igl/ambient_occlusion.cpp @@ -25,8 +25,8 @@ IGL_INLINE void igl::ambient_occlusion( const Eigen::Vector3f&, const Eigen::Vector3f&) > & shoot_ray, - const Eigen::PlainObjectBase & P, - const Eigen::PlainObjectBase & N, + const Eigen::MatrixBase & P, + const Eigen::MatrixBase & N, const int num_samples, Eigen::PlainObjectBase & S) { @@ -69,10 +69,10 @@ template < typename DerivedS > IGL_INLINE void igl::ambient_occlusion( const igl::AABB & aabb, - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, - const Eigen::PlainObjectBase & P, - const Eigen::PlainObjectBase & N, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, + const Eigen::MatrixBase & P, + const Eigen::MatrixBase & N, const int num_samples, Eigen::PlainObjectBase & S) { @@ -100,10 +100,10 @@ template < typename DerivedN, typename DerivedS > IGL_INLINE void igl::ambient_occlusion( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, - const Eigen::PlainObjectBase & P, - const Eigen::PlainObjectBase & N, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, + const Eigen::MatrixBase & P, + const Eigen::MatrixBase & N, const int num_samples, Eigen::PlainObjectBase & S) { @@ -128,10 +128,10 @@ IGL_INLINE void igl::ambient_occlusion( #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation // generated by autoexplicit.sh -template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, int, Eigen::PlainObjectBase >&); +template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&); // generated by autoexplicit.sh -template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, int, Eigen::PlainObjectBase >&); +template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&); // generated by autoexplicit.sh -template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, int, Eigen::PlainObjectBase >&); -template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, int, Eigen::PlainObjectBase >&); +template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&); +template void igl::ambient_occlusion, Eigen::Matrix, Eigen::Matrix >(std::function const&, Eigen::Matrix const&)> const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/ambient_occlusion.h b/include/igl/ambient_occlusion.h index 1c173121e..5e67ff598 100644 --- a/include/igl/ambient_occlusion.h +++ b/include/igl/ambient_occlusion.h @@ -34,8 +34,8 @@ namespace igl const Eigen::Vector3f&, const Eigen::Vector3f&) > & shoot_ray, - const Eigen::PlainObjectBase & P, - const Eigen::PlainObjectBase & N, + const Eigen::MatrixBase & P, + const Eigen::MatrixBase & N, const int num_samples, Eigen::PlainObjectBase & S); // Inputs: @@ -49,10 +49,10 @@ namespace igl typename DerivedS > IGL_INLINE void ambient_occlusion( const igl::AABB & aabb, - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, - const Eigen::PlainObjectBase & P, - const Eigen::PlainObjectBase & N, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, + const Eigen::MatrixBase & P, + const Eigen::MatrixBase & N, const int num_samples, Eigen::PlainObjectBase & S); // Inputs: @@ -65,10 +65,10 @@ namespace igl typename DerivedN, typename DerivedS > IGL_INLINE void ambient_occlusion( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, - const Eigen::PlainObjectBase & P, - const Eigen::PlainObjectBase & N, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, + const Eigen::MatrixBase & P, + const Eigen::MatrixBase & N, const int num_samples, Eigen::PlainObjectBase & S); diff --git a/include/igl/biharmonic_coordinates.cpp b/include/igl/biharmonic_coordinates.cpp index 686ecd5e4..73bff8ed1 100644 --- a/include/igl/biharmonic_coordinates.cpp +++ b/include/igl/biharmonic_coordinates.cpp @@ -22,8 +22,8 @@ template < typename SType, typename DerivedW> IGL_INLINE bool igl::biharmonic_coordinates( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & T, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & T, const std::vector > & S, Eigen::PlainObjectBase & W) { @@ -36,8 +36,8 @@ template < typename SType, typename DerivedW> IGL_INLINE bool igl::biharmonic_coordinates( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & T, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & T, const std::vector > & S, const int k, Eigen::PlainObjectBase & W) @@ -199,5 +199,5 @@ IGL_INLINE bool igl::biharmonic_coordinates( #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation -template bool igl::biharmonic_coordinates, Eigen::Matrix, int, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, int, Eigen::PlainObjectBase >&); +template bool igl::biharmonic_coordinates, Eigen::Matrix, int, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector >, std::allocator > > > const&, int, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/biharmonic_coordinates.h b/include/igl/biharmonic_coordinates.h index 26f67329a..583eee386 100644 --- a/include/igl/biharmonic_coordinates.h +++ b/include/igl/biharmonic_coordinates.h @@ -66,8 +66,8 @@ namespace igl typename SType, typename DerivedW> IGL_INLINE bool biharmonic_coordinates( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & T, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & T, const std::vector > & S, Eigen::PlainObjectBase & W); // k 2-->biharmonic, 3-->triharmonic @@ -77,8 +77,8 @@ namespace igl typename SType, typename DerivedW> IGL_INLINE bool biharmonic_coordinates( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & T, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & T, const std::vector > & S, const int k, Eigen::PlainObjectBase & W); diff --git a/include/igl/circumradius.cpp b/include/igl/circumradius.cpp index 34424eae2..88fcbf39a 100644 --- a/include/igl/circumradius.cpp +++ b/include/igl/circumradius.cpp @@ -13,8 +13,8 @@ template < typename DerivedF, typename DerivedR> IGL_INLINE void igl::circumradius( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, Eigen::PlainObjectBase & R) { Eigen::Matrix l; @@ -24,3 +24,7 @@ IGL_INLINE void igl::circumradius( // use formula: R=abc/(4*area) to compute the circum radius R = l.col(0).array() * l.col(1).array() * l.col(2).array() / (2.0*A.array()); } + +#ifdef IGL_STATIC_LIBRARY +template void igl::circumradius, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); +#endif diff --git a/include/igl/circumradius.h b/include/igl/circumradius.h index 12592ee3f..e8187cb04 100644 --- a/include/igl/circumradius.h +++ b/include/igl/circumradius.h @@ -17,15 +17,15 @@ namespace igl // V #V by dim list of mesh vertex positions // F #F by 3 list of triangle indices into V // Outputs: - // R #F list of circumradii + // R #F list of circumradius // template < typename DerivedV, typename DerivedF, typename DerivedR> IGL_INLINE void circumradius( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, Eigen::PlainObjectBase & R); } #ifndef IGL_STATIC_LIBRARY diff --git a/include/igl/comb_cross_field.cpp b/include/igl/comb_cross_field.cpp index 8feb6e0f1..f094ed43c 100644 --- a/include/igl/comb_cross_field.cpp +++ b/include/igl/comb_cross_field.cpp @@ -23,10 +23,10 @@ namespace igl { { public: - const Eigen::PlainObjectBase &V; - const Eigen::PlainObjectBase &F; - const Eigen::PlainObjectBase &PD1; - const Eigen::PlainObjectBase &PD2; + const Eigen::MatrixBase &V; + const Eigen::MatrixBase &F; + const Eigen::MatrixBase &PD1; + const Eigen::MatrixBase &PD2; DerivedV N; private: @@ -61,10 +61,10 @@ namespace igl { public: - inline Comb(const Eigen::PlainObjectBase &_V, - const Eigen::PlainObjectBase &_F, - const Eigen::PlainObjectBase &_PD1, - const Eigen::PlainObjectBase &_PD2 + inline Comb(const Eigen::MatrixBase &_V, + const Eigen::MatrixBase &_F, + const Eigen::MatrixBase &_PD1, + const Eigen::MatrixBase &_PD2 ): V(_V), F(_F), @@ -137,10 +137,10 @@ namespace igl { }; } template -IGL_INLINE void igl::comb_cross_field(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1, - const Eigen::PlainObjectBase &PD2, +IGL_INLINE void igl::comb_cross_field(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1, + const Eigen::MatrixBase &PD2, Eigen::PlainObjectBase &PD1out, Eigen::PlainObjectBase &PD2out) { @@ -150,6 +150,6 @@ IGL_INLINE void igl::comb_cross_field(const Eigen::PlainObjectBase &V, #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation -template void igl::comb_cross_field, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); -template void igl::comb_cross_field, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::comb_cross_field, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::comb_cross_field, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/comb_cross_field.h b/include/igl/comb_cross_field.h index fa3b57648..0cbacb7ab 100644 --- a/include/igl/comb_cross_field.h +++ b/include/igl/comb_cross_field.h @@ -27,10 +27,10 @@ namespace igl template - IGL_INLINE void comb_cross_field(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1in, - const Eigen::PlainObjectBase &PD2in, + IGL_INLINE void comb_cross_field(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1in, + const Eigen::MatrixBase &PD2in, Eigen::PlainObjectBase &PD1out, Eigen::PlainObjectBase &PD2out); } diff --git a/include/igl/comb_frame_field.cpp b/include/igl/comb_frame_field.cpp index d1fdb6bd7..85672c303 100644 --- a/include/igl/comb_frame_field.cpp +++ b/include/igl/comb_frame_field.cpp @@ -16,12 +16,12 @@ #include "PI.h" template -IGL_INLINE void igl::comb_frame_field(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1, - const Eigen::PlainObjectBase &PD2, - const Eigen::PlainObjectBase &BIS1_combed, - const Eigen::PlainObjectBase &BIS2_combed, +IGL_INLINE void igl::comb_frame_field(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1, + const Eigen::MatrixBase &PD2, + const Eigen::MatrixBase &BIS1_combed, + const Eigen::MatrixBase &BIS2_combed, Eigen::PlainObjectBase &PD1_combed, Eigen::PlainObjectBase &PD2_combed) { @@ -73,6 +73,6 @@ IGL_INLINE void igl::comb_frame_field(const Eigen::PlainObjectBase &V, #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation -template void igl::comb_frame_field, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); -template void igl::comb_frame_field, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::comb_frame_field, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::comb_frame_field, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/comb_frame_field.h b/include/igl/comb_frame_field.h index 4691dc19d..ab5a9e7e9 100644 --- a/include/igl/comb_frame_field.h +++ b/include/igl/comb_frame_field.h @@ -31,12 +31,12 @@ namespace igl template - IGL_INLINE void comb_frame_field(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1, - const Eigen::PlainObjectBase &PD2, - const Eigen::PlainObjectBase &BIS1_combed, - const Eigen::PlainObjectBase &BIS2_combed, + IGL_INLINE void comb_frame_field(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1, + const Eigen::MatrixBase &PD2, + const Eigen::MatrixBase &BIS1_combed, + const Eigen::MatrixBase &BIS2_combed, Eigen::PlainObjectBase &PD1_combed, Eigen::PlainObjectBase &PD2_combed); } diff --git a/include/igl/comb_line_field.cpp b/include/igl/comb_line_field.cpp index 66899319a..06a2a6406 100644 --- a/include/igl/comb_line_field.cpp +++ b/include/igl/comb_line_field.cpp @@ -22,9 +22,9 @@ class CombLine { public: - const Eigen::PlainObjectBase &V; - const Eigen::PlainObjectBase &F; - const Eigen::PlainObjectBase &PD1; + const Eigen::MatrixBase &V; + const Eigen::MatrixBase &F; + const Eigen::MatrixBase &PD1; DerivedV N; private: @@ -57,9 +57,9 @@ private: public: - inline CombLine(const Eigen::PlainObjectBase &_V, - const Eigen::PlainObjectBase &_F, - const Eigen::PlainObjectBase &_PD1): + inline CombLine(const Eigen::MatrixBase &_V, + const Eigen::MatrixBase &_F, + const Eigen::MatrixBase &_PD1): V(_V), F(_F), PD1(_PD1) @@ -118,9 +118,9 @@ public: } template -IGL_INLINE void igl::comb_line_field(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1, +IGL_INLINE void igl::comb_line_field(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1, Eigen::PlainObjectBase &PD1out) { igl::CombLine cmb(V, F, PD1); diff --git a/include/igl/comb_line_field.h b/include/igl/comb_line_field.h index e2f22b37f..6ec892016 100644 --- a/include/igl/comb_line_field.h +++ b/include/igl/comb_line_field.h @@ -19,17 +19,14 @@ namespace igl // V #V by 3 eigen Matrix of mesh vertex 3D positions // F #F by 4 eigen Matrix of face (quad) indices // PD1in #F by 3 eigen Matrix of the first per face cross field vector - // PD2in #F by 3 eigen Matrix of the second per face cross field vector // Output: // PD1out #F by 3 eigen Matrix of the first combed cross field vector - // PD2out #F by 3 eigen Matrix of the second combed cross field vector - // template - IGL_INLINE void comb_line_field(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1in, + IGL_INLINE void comb_line_field(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1in, Eigen::PlainObjectBase &PD1out); } #ifndef IGL_STATIC_LIBRARY diff --git a/include/igl/compute_frame_field_bisectors.cpp b/include/igl/compute_frame_field_bisectors.cpp index 74b284d48..ceca66e5d 100644 --- a/include/igl/compute_frame_field_bisectors.cpp +++ b/include/igl/compute_frame_field_bisectors.cpp @@ -17,12 +17,12 @@ template IGL_INLINE void igl::compute_frame_field_bisectors( - const Eigen::PlainObjectBase& V, - const Eigen::PlainObjectBase& F, - const Eigen::PlainObjectBase& B1, - const Eigen::PlainObjectBase& B2, - const Eigen::PlainObjectBase& PD1, - const Eigen::PlainObjectBase& PD2, + const Eigen::MatrixBase& V, + const Eigen::MatrixBase& F, + const Eigen::MatrixBase& B1, + const Eigen::MatrixBase& B2, + const Eigen::MatrixBase& PD1, + const Eigen::MatrixBase& PD2, Eigen::PlainObjectBase& BIS1, Eigen::PlainObjectBase& BIS2) { @@ -64,10 +64,10 @@ IGL_INLINE void igl::compute_frame_field_bisectors( template IGL_INLINE void igl::compute_frame_field_bisectors( - const Eigen::PlainObjectBase& V, - const Eigen::PlainObjectBase& F, - const Eigen::PlainObjectBase& PD1, - const Eigen::PlainObjectBase& PD2, + const Eigen::MatrixBase& V, + const Eigen::MatrixBase& F, + const Eigen::MatrixBase& PD1, + const Eigen::MatrixBase& PD2, Eigen::PlainObjectBase& BIS1, Eigen::PlainObjectBase& BIS2) { @@ -80,7 +80,7 @@ IGL_INLINE void igl::compute_frame_field_bisectors( #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation -template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); -template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); -template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/compute_frame_field_bisectors.h b/include/igl/compute_frame_field_bisectors.h index 4c853febf..f5cef3a11 100644 --- a/include/igl/compute_frame_field_bisectors.h +++ b/include/igl/compute_frame_field_bisectors.h @@ -26,22 +26,22 @@ namespace igl // template IGL_INLINE void compute_frame_field_bisectors( - const Eigen::PlainObjectBase& V, - const Eigen::PlainObjectBase& F, - const Eigen::PlainObjectBase& B1, - const Eigen::PlainObjectBase& B2, - const Eigen::PlainObjectBase& PD1, - const Eigen::PlainObjectBase& PD2, + const Eigen::MatrixBase& V, + const Eigen::MatrixBase& F, + const Eigen::MatrixBase& B1, + const Eigen::MatrixBase& B2, + const Eigen::MatrixBase& PD1, + const Eigen::MatrixBase& PD2, Eigen::PlainObjectBase& BIS1, Eigen::PlainObjectBase& BIS2); // Wrapper without given basis vectors. template IGL_INLINE void compute_frame_field_bisectors( - const Eigen::PlainObjectBase& V, - const Eigen::PlainObjectBase& F, - const Eigen::PlainObjectBase& PD1, - const Eigen::PlainObjectBase& PD2, + const Eigen::MatrixBase& V, + const Eigen::MatrixBase& F, + const Eigen::MatrixBase& PD1, + const Eigen::MatrixBase& PD2, Eigen::PlainObjectBase& BIS1, Eigen::PlainObjectBase& BIS2); } diff --git a/include/igl/connect_boundary_to_infinity.cpp b/include/igl/connect_boundary_to_infinity.cpp index 627b0b9b6..e0b7aec37 100644 --- a/include/igl/connect_boundary_to_infinity.cpp +++ b/include/igl/connect_boundary_to_infinity.cpp @@ -10,14 +10,14 @@ template IGL_INLINE void igl::connect_boundary_to_infinity( - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & F, Eigen::PlainObjectBase & FO) { return connect_boundary_to_infinity(F,F.maxCoeff(),FO); } template IGL_INLINE void igl::connect_boundary_to_infinity( - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & F, const typename DerivedF::Scalar inf_index, Eigen::PlainObjectBase & FO) { @@ -37,8 +37,8 @@ template < typename DerivedVO, typename DerivedFO> IGL_INLINE void igl::connect_boundary_to_infinity( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, Eigen::PlainObjectBase & VO, Eigen::PlainObjectBase & FO) { @@ -51,5 +51,5 @@ IGL_INLINE void igl::connect_boundary_to_infinity( } #ifdef IGL_STATIC_LIBRARY -template void igl::connect_boundary_to_infinity, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::connect_boundary_to_infinity, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/connect_boundary_to_infinity.h b/include/igl/connect_boundary_to_infinity.h index 2fa2783d6..3109fc952 100644 --- a/include/igl/connect_boundary_to_infinity.h +++ b/include/igl/connect_boundary_to_infinity.h @@ -22,13 +22,13 @@ namespace igl // edge-manifold). template IGL_INLINE void connect_boundary_to_infinity( - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & F, Eigen::PlainObjectBase & FO); // Inputs: // inf_index index of point at infinity (usually V.rows() or F.maxCoeff()) template IGL_INLINE void connect_boundary_to_infinity( - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & F, const typename DerivedF::Scalar inf_index, Eigen::PlainObjectBase & FO); // Inputs: @@ -45,8 +45,8 @@ namespace igl typename DerivedVO, typename DerivedFO> IGL_INLINE void connect_boundary_to_infinity( - const Eigen::PlainObjectBase & V, - const Eigen::PlainObjectBase & F, + const Eigen::MatrixBase & V, + const Eigen::MatrixBase & F, Eigen::PlainObjectBase & VO, Eigen::PlainObjectBase & FO); } diff --git a/include/igl/cross_field_mismatch.cpp b/include/igl/cross_field_mismatch.cpp index 3c3265535..d25e6517e 100644 --- a/include/igl/cross_field_mismatch.cpp +++ b/include/igl/cross_field_mismatch.cpp @@ -25,10 +25,10 @@ namespace igl { { public: - const Eigen::PlainObjectBase &V; - const Eigen::PlainObjectBase &F; - const Eigen::PlainObjectBase &PD1; - const Eigen::PlainObjectBase &PD2; + const Eigen::MatrixBase &V; + const Eigen::MatrixBase &F; + const Eigen::MatrixBase &PD1; + const Eigen::MatrixBase &PD2; DerivedV N; @@ -69,10 +69,10 @@ namespace igl { public: - inline MismatchCalculator(const Eigen::PlainObjectBase &_V, - const Eigen::PlainObjectBase &_F, - const Eigen::PlainObjectBase &_PD1, - const Eigen::PlainObjectBase &_PD2): + inline MismatchCalculator(const Eigen::MatrixBase &_V, + const Eigen::MatrixBase &_F, + const Eigen::MatrixBase &_PD1, + const Eigen::MatrixBase &_PD2): V(_V), F(_F), PD1(_PD1), @@ -102,10 +102,10 @@ public: }; } template -IGL_INLINE void igl::cross_field_mismatch(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1, - const Eigen::PlainObjectBase &PD2, +IGL_INLINE void igl::cross_field_mismatch(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1, + const Eigen::MatrixBase &PD2, const bool isCombed, Eigen::PlainObjectBase &mismatch) { @@ -125,8 +125,8 @@ IGL_INLINE void igl::cross_field_mismatch(const Eigen::PlainObjectBase #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation -template void igl::cross_field_mismatch, Eigen::Matrix >(Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, const bool, Eigen::PlainObjectBase > &); -template void igl::cross_field_mismatch, Eigen::Matrix >( Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, const bool, Eigen::PlainObjectBase > &); -template void igl::cross_field_mismatch, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, Eigen::PlainObjectBase > const &, const bool, Eigen::PlainObjectBase > &); +template void igl::cross_field_mismatch, Eigen::Matrix >(Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, const bool, Eigen::PlainObjectBase > &); +template void igl::cross_field_mismatch, Eigen::Matrix >( Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, const bool, Eigen::PlainObjectBase > &); +template void igl::cross_field_mismatch, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, Eigen::MatrixBase > const &, const bool, Eigen::PlainObjectBase > &); #endif diff --git a/include/igl/cross_field_mismatch.h b/include/igl/cross_field_mismatch.h index daf000e2d..5f15e9641 100644 --- a/include/igl/cross_field_mismatch.h +++ b/include/igl/cross_field_mismatch.h @@ -29,10 +29,10 @@ namespace igl // template - IGL_INLINE void cross_field_mismatch(const Eigen::PlainObjectBase &V, - const Eigen::PlainObjectBase &F, - const Eigen::PlainObjectBase &PD1, - const Eigen::PlainObjectBase &PD2, + IGL_INLINE void cross_field_mismatch(const Eigen::MatrixBase &V, + const Eigen::MatrixBase &F, + const Eigen::MatrixBase &PD1, + const Eigen::MatrixBase &PD2, const bool isCombed, Eigen::PlainObjectBase &mismatch); } diff --git a/include/igl/sort_angles.cpp b/include/igl/sort_angles.cpp index 486f621ea..a030eb006 100644 --- a/include/igl/sort_angles.cpp +++ b/include/igl/sort_angles.cpp @@ -11,7 +11,7 @@ template IGL_INLINE void igl::sort_angles( - const Eigen::PlainObjectBase& M, + const Eigen::MatrixBase& M, Eigen::PlainObjectBase& R) { const size_t num_rows = M.rows(); const size_t num_cols = M.cols(); @@ -110,5 +110,5 @@ IGL_INLINE void igl::sort_angles( } #ifdef IGL_STATIC_LIBRARY -template void igl::sort_angles, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&); +template void igl::sort_angles, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/sort_angles.h b/include/igl/sort_angles.h index 4763c981e..d7e6e3c4d 100644 --- a/include/igl/sort_angles.h +++ b/include/igl/sort_angles.h @@ -24,7 +24,7 @@ namespace igl { // angle. template IGL_INLINE void sort_angles( - const Eigen::PlainObjectBase& M, + const Eigen::MatrixBase& M, Eigen::PlainObjectBase& R); } diff --git a/include/igl/triangle_triangle_adjacency.cpp b/include/igl/triangle_triangle_adjacency.cpp index eecaec479..901d2e12f 100644 --- a/include/igl/triangle_triangle_adjacency.cpp +++ b/include/igl/triangle_triangle_adjacency.cpp @@ -262,6 +262,7 @@ template void igl::triangle_triangle_adjacency, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); template void igl::triangle_triangle_adjacency, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); +template void igl::triangle_triangle_adjacency, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); template void igl::triangle_triangle_adjacency, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); template void igl::triangle_triangle_adjacency, long, long>(Eigen::MatrixBase > const&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&); template void igl::triangle_triangle_adjacency, int>(Eigen::MatrixBase > const&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&); @@ -271,5 +272,4 @@ template void igl::triangle_triangle_adjacency, Eigen::Matrix, long, long, long>(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector >, std::allocator > > > const&, bool, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&); template void igl::triangle_triangle_adjacency, Eigen::Matrix, unsigned long, int, int>(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector >, std::allocator > > > const&, bool, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&); -template void igl::triangle_triangle_adjacency, Eigen::Matrix>(Eigen::MatrixBase> const &, Eigen::PlainObjectBase> &); #endif