libigl v2.5.0
Loading...
Searching...
No Matches
principal_curvature.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 Daniele Panozzo <daniele.panozzo@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_PRINCIPAL_CURVATURE_H
9#define IGL_PRINCIPAL_CURVATURE_H
10
11
12#include <Eigen/Geometry>
13#include <Eigen/Dense>
14
15#include <vector>
16
17#include "igl_inline.h"
18
19
20
21namespace igl
22{
43 template <
44 typename DerivedV,
45 typename DerivedF,
46 typename DerivedPD1,
47 typename DerivedPD2,
48 typename DerivedPV1,
49 typename DerivedPV2>
51 const Eigen::MatrixBase<DerivedV>& V,
52 const Eigen::MatrixBase<DerivedF>& F,
53 Eigen::PlainObjectBase<DerivedPD1>& PD1,
54 Eigen::PlainObjectBase<DerivedPD2>& PD2,
55 Eigen::PlainObjectBase<DerivedPV1>& PV1,
56 Eigen::PlainObjectBase<DerivedPV2>& PV2,
57 unsigned radius = 5,
58 bool useKring = true);
61 template <
62 typename DerivedV,
63 typename DerivedF,
64 typename DerivedPD1,
65 typename DerivedPD2,
66 typename DerivedPV1,
67 typename DerivedPV2,
68 typename Index>
70 const Eigen::MatrixBase<DerivedV>& V,
71 const Eigen::MatrixBase<DerivedF>& F,
72 Eigen::PlainObjectBase<DerivedPD1>& PD1,
73 Eigen::PlainObjectBase<DerivedPD2>& PD2,
74 Eigen::PlainObjectBase<DerivedPV1>& PV1,
75 Eigen::PlainObjectBase<DerivedPV2>& PV2,
76 std::vector<Index>& bad_vertices,
77 unsigned radius = 5,
78 bool useKring = true);
79}
80
81
82#ifndef IGL_STATIC_LIBRARY
83#include "principal_curvature.cpp"
84#endif
85
86#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void principal_curvature(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedPD1 > &PD1, Eigen::PlainObjectBase< DerivedPD2 > &PD2, Eigen::PlainObjectBase< DerivedPV1 > &PV1, Eigen::PlainObjectBase< DerivedPV2 > &PV2, unsigned radius=5, bool useKring=true)
Compute the principal curvature directions and magnitude of the given triangle mesh DerivedV derived ...