libigl v2.5.0
Loading...
Searching...
No Matches
volume.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) 2014 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_VOLUME_H
9#define IGL_VOLUME_H
10#include "igl_inline.h"
11#include <Eigen/Core>
12namespace igl
13{
20 template <
21 typename DerivedV,
22 typename DerivedT,
23 typename Derivedvol>
25 const Eigen::MatrixBase<DerivedV>& V,
26 const Eigen::MatrixBase<DerivedT>& T,
27 Eigen::PlainObjectBase<Derivedvol>& vol);
33 template <
34 typename DerivedA,
35 typename DerivedB,
36 typename DerivedC,
37 typename DerivedD,
38 typename Derivedvol>
40 const Eigen::MatrixBase<DerivedA> & A,
41 const Eigen::MatrixBase<DerivedB> & B,
42 const Eigen::MatrixBase<DerivedC> & C,
43 const Eigen::MatrixBase<DerivedD> & D,
44 Eigen::PlainObjectBase<Derivedvol> & vol);
47 template <
48 typename VecA,
49 typename VecB,
50 typename VecC,
51 typename VecD>
52 IGL_INLINE typename VecA::Scalar volume_single(
53 const VecA & a,
54 const VecB & b,
55 const VecC & c,
56 const VecD & d);
61 template <
62 typename DerivedL,
63 typename Derivedvol>
65 const Eigen::MatrixBase<DerivedL>& L,
66 Eigen::PlainObjectBase<Derivedvol>& vol);
67}
68
69#ifndef IGL_STATIC_LIBRARY
70# include "volume.cpp"
71#endif
72
73#endif
74
75
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void volume(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedT > &T, Eigen::PlainObjectBase< Derivedvol > &vol)
Compute volume for all tets of a given tet mesh (V,T)
VecA::Scalar volume_single(const VecA &a, const VecB &b, const VecC &c, const VecD &d)
This is an overloaded member function, provided for convenience. It differs from the above function o...