libigl v2.5.0
Loading...
Searching...
No Matches
screen_space_selection.h
Go to the documentation of this file.
1#ifndef IGL_SCREEN_SPACE_SELECTION_H
2#define IGL_SCREEN_SPACE_SELECTION_H
3
4#include "igl/igl_inline.h"
5#include <Eigen/Core>
6#include <vector>
7// Forward declaration
8namespace igl { template <typename DerivedV, int DIM> class AABB; }
9
10namespace igl
11{
25 template <
26 typename DerivedV,
27 typename DerivedF,
28 typename DerivedM,
29 typename DerivedN,
30 typename DerivedO,
31 typename Ltype,
32 typename DerivedW,
33 typename Deriveda>
35 const Eigen::MatrixBase<DerivedV> & V,
36 const Eigen::MatrixBase<DerivedF> & F,
37 const igl::AABB<DerivedV, 3> & tree,
38 const Eigen::MatrixBase<DerivedM>& model,
39 const Eigen::MatrixBase<DerivedN>& proj,
40 const Eigen::MatrixBase<DerivedO>& viewport,
41 const std::vector<Eigen::Matrix<Ltype,1,2> > & L,
42 Eigen::PlainObjectBase<DerivedW> & W,
43 Eigen::PlainObjectBase<Deriveda> & and_visible);
53 template <
54 typename DerivedV,
55 typename DerivedM,
56 typename DerivedN,
57 typename DerivedO,
58 typename Ltype,
59 typename DerivedW>
61 const Eigen::MatrixBase<DerivedV> & V,
62 const Eigen::MatrixBase<DerivedM>& model,
63 const Eigen::MatrixBase<DerivedN>& proj,
64 const Eigen::MatrixBase<DerivedO>& viewport,
65 const std::vector<Eigen::Matrix<Ltype,1,2> > & L,
66 Eigen::PlainObjectBase<DerivedW> & W);
77 template <
78 typename DerivedV,
79 typename DerivedM,
80 typename DerivedN,
81 typename DerivedO,
82 typename DerivedP,
83 typename DerivedE,
84 typename DerivedW>
86 const Eigen::MatrixBase<DerivedV> & V,
87 const Eigen::MatrixBase<DerivedM>& model,
88 const Eigen::MatrixBase<DerivedN>& proj,
89 const Eigen::MatrixBase<DerivedO>& viewport,
90 const Eigen::MatrixBase<DerivedP> & P,
91 const Eigen::MatrixBase<DerivedE> & E,
92 Eigen::PlainObjectBase<DerivedW> & W);
93}
94
95#ifndef IGL_STATIC_LIBRARY
96#include "screen_space_selection.cpp"
97#endif
98
99#endif
Implementation of semi-general purpose axis-aligned bounding box hierarchy.
Definition AABB.h:30
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void screen_space_selection(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const igl::AABB< DerivedV, 3 > &tree, const Eigen::MatrixBase< DerivedM > &model, const Eigen::MatrixBase< DerivedN > &proj, const Eigen::MatrixBase< DerivedO > &viewport, const std::vector< Eigen::Matrix< Ltype, 1, 2 > > &L, Eigen::PlainObjectBase< DerivedW > &W, Eigen::PlainObjectBase< Deriveda > &and_visible)
Given a mesh, a camera determine which points are inside of a given 2D screen space polygon culling p...