libigl v2.5.0
Loading...
Searching...
No Matches
blkdiag.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) 2020 Alec Jacobson <alecjacobson@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_BLKDIAG_H
9#define IGL_BLKDIAG_H
10#include "igl_inline.h"
11#include <Eigen/Core>
12#include <Eigen/Sparse>
13#include <vector>
14
15namespace igl
16{
26 template <typename Scalar>
28 const std::vector<Eigen::SparseMatrix<Scalar>> & L,
29 Eigen::SparseMatrix<Scalar> & Y);
31 template <typename DerivedY>
33 const std::vector<DerivedY> & L,
34 Eigen::PlainObjectBase<DerivedY> & Y);
35}
36
37#ifndef IGL_STATIC_LIBRARY
38# include "blkdiag.cpp"
39#endif
40
41#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void blkdiag(const std::vector< Eigen::SparseMatrix< Scalar > > &L, Eigen::SparseMatrix< Scalar > &Y)
Given a list of matrices place them along the diagonal as blocks of the output matrix.