libigl v2.5.0
Loading...
Searching...
No Matches
fast_find_self_intersections.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) 2022 Vladimir S. FONOV <vladimir.fonov@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#pragma once
9#ifndef FAST_FIND_SELF_INTERSECTIONS_H
10#define FAST_FIND_SELF_INTERSECTIONS_H
11
12#include "igl_inline.h"
13#include <Eigen/Core>
14
15namespace igl {
16
27 template <
28 typename DerivedV,
29 typename DerivedF,
30 typename DerivedI,
31 typename DerivedE>
33 const Eigen::MatrixBase<DerivedV>& V,
34 const Eigen::MatrixBase<DerivedF>& F,
35 Eigen::PlainObjectBase<DerivedI>& intersect,
36 Eigen::PlainObjectBase<DerivedE>& edges );
38 template <
39 typename DerivedV,
40 typename DerivedF,
41 typename DerivedI>
43 const Eigen::MatrixBase<DerivedV>& V,
44 const Eigen::MatrixBase<DerivedF>& F,
45 Eigen::PlainObjectBase<DerivedI>& intersect);
46
47};
48
49#ifndef IGL_STATIC_LIBRARY
50# include "fast_find_self_intersections.cpp"
51#endif
52
53#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void edges(const Eigen::MatrixBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedE > &E)
Constructs a list of unique edges represented in a given mesh (V,F)
bool fast_find_self_intersections(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedI > &intersect, Eigen::PlainObjectBase< DerivedE > &edges)
Identify triangles where mesh intersects itself using AABBTree and tri_tri_intersection_test_3d.
void intersect(const M &A, const M &B, M &C)
Determine the intersect between two sets of coefficients using ==.