diff options
Diffstat (limited to 'graphics/epix/lens.cc')
-rw-r--r-- | graphics/epix/lens.cc | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/graphics/epix/lens.cc b/graphics/epix/lens.cc deleted file mode 100644 index cfca6df66b..0000000000 --- a/graphics/epix/lens.cc +++ /dev/null @@ -1,162 +0,0 @@ -/* - * lens.cc -- ePiX::lens functions - * - * This file is part of ePiX, a C++ library for creating high-quality - * figures in LaTeX - * - * Version 1.1.22 - * Last Change: September 24, 2007 - */ - -/* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 - * Andrew D. Hwang <rot 13 nujnat at zngupf dot ubylpebff dot rqh> - * Department of Mathematics and Computer Science - * College of the Holy Cross - * Worcester, MA, 01610-2395, USA - */ - -/* - * ePiX is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * ePiX is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - * - * You should have received a copy of the GNU General Public License - * along with ePiX; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -// #include <cmath> - -#include "pairs.h" -#include "triples.h" -#include "frame.h" - -#include "lens.h" - -namespace ePiX { - - Lens::~Lens() { } - - pair Perspective::operator() - (const P& arg, const frame& orient, const P& viewpt, - double dist) const - { - P arg_vector(arg - viewpt); - - // get arg's location in our coordinates - double u1(orient.sea()|arg_vector); - double u2(orient.sky()|arg_vector); - double u3(orient.eye()|arg_vector); - - return (-dist/u3)*pair(u1, u2); - } // end of Camera::Perspective::operator() - - bool Perspective::is_linear() const - { - return true; - } - - bool Perspective::needs_clip() const - { - return true; - } - - Perspective* Perspective::clone() const - { - return new Perspective(*this); - } - - - pair Orthog::operator() - (const P& arg, const frame& orient, const P& viewpt, - double dist) const - { - P arg_vector(arg - viewpt); - double u1(orient.sea()|arg_vector); - double u2(orient.sky()|arg_vector); - - return pair(u1, u2); - } // end of Camera::Orthog::operator() - - bool Orthog::is_linear() const - { - return true; - } - - bool Orthog::needs_clip() const - { - return true; - } - - Orthog* Orthog::clone() const - { - return new Orthog(*this); - } - - - pair Fisheye::operator() - (const P& arg, const frame& orient, const P& viewpt, - double dist) const - { - P arg_vector(arg - viewpt); - arg_vector *= 1.0/(norm(arg_vector)); - - double u1(orient.sea()|arg_vector); - double u2(orient.sky()|arg_vector); - - // radial projection to camera sphere, then orthogonal projection - return dist*pair(u1, u2); - } // end of Camera::Fisheye::operator() - - bool Fisheye::is_linear() const - { - return false; - } - - bool Fisheye::needs_clip() const - { - return false; - } - - Fisheye* Fisheye::clone() const - { - return new Fisheye(*this); - } - - - pair Bubble::operator() - (const P& arg, const frame& orient, const P& viewpt, - double dist) const - { - P arg_vector(arg - viewpt); - arg_vector *= 1.0/(norm(arg_vector)); - - double u1(orient.sea()|arg_vector); - double u2(orient.sky()|arg_vector); - double u3(orient.eye()|arg_vector); - - // radial projection to camera sphere, then stereographic projection - return (2.0*dist/(1-u3))*pair(u1, u2); - } // end of Camera::Bubble::operator() - - bool Bubble::is_linear() const - { - return false; - } - - bool Bubble::needs_clip() const - { - return false; - } - - Bubble* Bubble::clone() const - { - return new Bubble(*this); - } -} // end of namespace |