1#ifndef IGL_UNPROJECT_ON_LINE_H 
    2#define IGL_UNPROJECT_ON_LINE_H 
   24    typename Derivedorigin,
 
   27    const Eigen::MatrixBase<DerivedUV> & UV,
 
   28    const Eigen::MatrixBase<DerivedM> & M,
 
   29    const Eigen::MatrixBase<DerivedVP> & VP,
 
   30    const Eigen::MatrixBase<Derivedorigin> & origin,
 
   31    const Eigen::MatrixBase<Deriveddir> & dir,
 
   32    typename DerivedUV::Scalar & t);
 
   39    typename Derivedorigin,
 
   43    const Eigen::MatrixBase<DerivedUV> & UV,
 
   44    const Eigen::MatrixBase<DerivedM> & M,
 
   45    const Eigen::MatrixBase<DerivedVP> & VP,
 
   46    const Eigen::MatrixBase<Derivedorigin> & origin,
 
   47    const Eigen::MatrixBase<Deriveddir> & dir,
 
   48    Eigen::PlainObjectBase<DerivedZ> & Z);
 
   51#ifndef IGL_STATIC_LIBRARY 
   52#  include "unproject_on_line.cpp" 
void unproject_on_line(const Eigen::MatrixBase< DerivedUV > &UV, const Eigen::MatrixBase< DerivedM > &M, const Eigen::MatrixBase< DerivedVP > &VP, const Eigen::MatrixBase< Derivedorigin > &origin, const Eigen::MatrixBase< Deriveddir > &dir, typename DerivedUV::Scalar &t)
Given a screen space point (u,v) and the current projection matrix (e.g.