PrParamUtil.h

00001 //===========================================================================
00002 // GoTools - SINTEF Geometry Tools version 1.1
00003 //
00004 // GoTools module: parametrization
00005 //
00006 // Copyright (C) 2000-2005 SINTEF ICT, Applied Mathematics, Norway.
00007 //
00008 // This program is free software; you can redistribute it and/or          
00009 // modify it under the terms of the GNU General Public License            
00010 // as published by the Free Software Foundation version 2 of the License. 
00011 //
00012 // This program is distributed in the hope that it will be useful,        
00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of         
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          
00015 // GNU General Public License for more details.                           
00016 //
00017 // You should have received a copy of the GNU General Public License      
00018 // along with this program; if not, write to the Free Software            
00019 // Foundation, Inc.,                                                      
00020 // 59 Temple Place - Suite 330,                                           
00021 // Boston, MA  02111-1307, USA.                                           
00022 //
00023 // Contact information: E-mail: tor.dokken@sintef.no                      
00024 // SINTEF ICT, Department of Applied Mathematics,                         
00025 // P.O. Box 124 Blindern,                                                 
00026 // 0314 Oslo, Norway.                                                     
00027 //
00028 // Other licenses are also available for this software, notably licenses
00029 // for:
00030 // - Building commercial software.                                        
00031 // - Building software whose source code you wish to keep private.        
00032 //===========================================================================
00033 #ifndef PRPARAMUTIL_H
00034 #define PRPARAMUTIL_H
00035 
00036 #include "Array.h"
00037 using Go::Vector2D;
00038 using Go::Vector3D;
00039 
00044 void baryCoords(double x, double y, double x0, double y0, double x1, double y1,
00045                 double x2, double y2, double& tau0, double& tau1, double& tau2);
00046 
00051 //M.F. Feb 97.
00052 void baryCoords0(double& u0, double& v0, double& u1, double& v1,
00053                  double& u2, double& v2, double& tau0, double& tau1, double& tau2);
00054 
00055 
00056 double det(const double& u1, const double& v1,
00057            const double& u2, const double& v2);
00058 
00061 double area(const double& x0, const double& y0,
00062             const double& x1, const double& y1,
00063             const double& x2, const double& y2);
00064 
00066 double area(const Vector3D& a,
00067             const Vector3D& b,
00068             const Vector3D& c);
00069 
00072 void polarCoords(Vector2D v, double& r, double& theta);
00073 
00076 void polarCoords(double u, double v, double& r, double& theta);
00077 
00083 //*  M.F. Apr. 2002.
00084 double tanThetaOverTwo(const Vector3D& a,
00085                        const Vector3D& b,
00086                        const Vector3D& c);
00087 
00088 double cotangent(const Vector3D& a, const Vector3D& b, const Vector3D& c);
00089 
00090 
00091 #endif // PRPARAMUTIL_H

Generated on Tue Jun 12 11:05:05 2007 for GoTools Parametrization Library by  doxygen 1.5.1