summaryrefslogtreecommitdiff
path: root/graphics/epix/lens.cc
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/epix/lens.cc')
-rw-r--r--graphics/epix/lens.cc162
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