8#ifndef IGL_EMBREE_UNPROJECT_IN_MESH
9#define IGL_EMBREE_UNPROJECT_IN_MESH
10#include "../igl_inline.h"
21 class EmbreeIntersector;
47 template <
typename Derivedobj>
49 const Eigen::Vector2f& pos,
50 const Eigen::Matrix4f& model,
51 const Eigen::Matrix4f& proj,
52 const Eigen::Vector4f& viewport,
54 Eigen::PlainObjectBase<Derivedobj> & obj,
55 std::vector<igl::Hit > & hits);
57 template <
typename Derivedobj>
59 const Eigen::Vector2f& pos,
60 const Eigen::Matrix4f& model,
61 const Eigen::Matrix4f& proj,
62 const Eigen::Vector4f& viewport,
64 Eigen::PlainObjectBase<Derivedobj> & obj);
68#ifndef IGL_STATIC_LIBRARY
69# include "unproject_in_mesh.cpp"
Simple class to wrap Embree's ray tracing functionality.
Definition EmbreeIntersector.h:36
#define IGL_INLINE
Definition igl_inline.h:15
int unproject_in_mesh(const Eigen::Vector2f &pos, const Eigen::Matrix4f &model, const Eigen::Matrix4f &proj, const Eigen::Vector4f &viewport, const EmbreeIntersector &ei, Eigen::PlainObjectBase< Derivedobj > &obj, std::vector< igl::Hit > &hits)
Unproject a screen location (using current opengl viewport, projection, and model view) to a 3D posit...