libigl v2.5.0
Loading...
Searching...
No Matches
doublearea.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) 2013 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_DOUBLEAREA_H
9#define IGL_DOUBLEAREA_H
10#include "igl_inline.h"
11#include <Eigen/Dense>
12namespace igl
13{
28 template <typename DerivedV, typename DerivedF, typename DeriveddblA>
30 const Eigen::MatrixBase<DerivedV> & V,
31 const Eigen::MatrixBase<DerivedF> & F,
32 Eigen::PlainObjectBase<DeriveddblA> & dblA);
39 template <
40 typename DerivedA,
41 typename DerivedB,
42 typename DerivedC,
43 typename DerivedD>
45 const Eigen::MatrixBase<DerivedA> & A,
46 const Eigen::MatrixBase<DerivedB> & B,
47 const Eigen::MatrixBase<DerivedC> & C,
48 Eigen::PlainObjectBase<DerivedD> & D);
57 template <
58 typename DerivedA,
59 typename DerivedB,
60 typename DerivedC>
61 IGL_INLINE typename DerivedA::Scalar doublearea_single(
62 const Eigen::MatrixBase<DerivedA> & A,
63 const Eigen::MatrixBase<DerivedB> & B,
64 const Eigen::MatrixBase<DerivedC> & C);
79 template <typename Derivedl, typename DeriveddblA>
81 const Eigen::MatrixBase<Derivedl> & l,
82 const typename Derivedl::Scalar nan_replacement,
83 Eigen::PlainObjectBase<DeriveddblA> & dblA);
87 template <typename Derivedl, typename DeriveddblA>
89 const Eigen::MatrixBase<Derivedl> & l,
90 Eigen::PlainObjectBase<DeriveddblA> & dblA);
98 template <typename DerivedV, typename DerivedF, typename DeriveddblA>
100 const Eigen::MatrixBase<DerivedV> & V,
101 const Eigen::MatrixBase<DerivedF> & F,
102 Eigen::PlainObjectBase<DeriveddblA> & dblA);
103}
104
105#ifndef IGL_STATIC_LIBRARY
106# include "doublearea.cpp"
107#endif
108
109#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void doublearea_quad(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, Eigen::PlainObjectBase< DeriveddblA > &dblA)
Computes twice the area for each input quadrilateral.
void doublearea(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, Eigen::PlainObjectBase< DeriveddblA > &dblA)
Computes twice the area for each input triangle or quad.
DerivedA::Scalar doublearea_single(const Eigen::MatrixBase< DerivedA > &A, const Eigen::MatrixBase< DerivedB > &B, const Eigen::MatrixBase< DerivedC > &C)
Compute the twice the signed area of a single triangle.