diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-11-22 18:41:30 +0900 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-11-22 18:41:30 +0900 |
| commit | ee0d99607c14cb63d3ebdb3a970b508949fa8219 (patch) | |
| tree | 94ac1efedb94cb38bf6879ba0610fe75b554216b /src/imageplugins/perspective/triangle.cpp | |
| parent | 4adff739380e4ae9f30e443ee95644f184456869 (diff) | |
| download | digikam-ee0d99607c14cb63d3ebdb3a970b508949fa8219.tar.gz digikam-ee0d99607c14cb63d3ebdb3a970b508949fa8219.zip | |
Rename 'digikam' folder to 'src'
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'src/imageplugins/perspective/triangle.cpp')
| -rw-r--r-- | src/imageplugins/perspective/triangle.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/imageplugins/perspective/triangle.cpp b/src/imageplugins/perspective/triangle.cpp new file mode 100644 index 00000000..84f80a07 --- /dev/null +++ b/src/imageplugins/perspective/triangle.cpp @@ -0,0 +1,65 @@ +/* ============================================================ + * + * This file is a part of digiKam project + * http://www.digikam.org + * + * Date : 2005-01-18 + * Description : triangle geometry calculation class. + * + * Copyright (C) 2005-2007 by Gilles Caulier <caulier dot gilles at gmail dot com> + * + * This program 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, or (at your option) + * any later version. + * + * This program 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. + * + * ============================================================ */ + +// C++ includes. + +#include <cstdio> +#include <cstdlib> +#include <cmath> + +// Local includes. + +#include "triangle.h" + +namespace DigikamPerspectiveImagesPlugin +{ + +Triangle::Triangle(TQPoint A, TQPoint B, TQPoint C) +{ + m_a = distanceP2P(B, C); + m_b = distanceP2P(A, C); + m_c = distanceP2P(A, B); +} + +float Triangle::angleABC(void) +{ + return( 57.295779513082 * acos( (m_b*m_b - m_a*m_a - m_c*m_c ) / (-2*m_a*m_c ) ) ); +} + +float Triangle::angleACB(void) +{ + return( 57.295779513082 * acos( (m_c*m_c - m_a*m_a - m_b*m_b ) / (-2*m_a*m_b ) ) ); +} + +float Triangle::angleBAC(void) +{ + return( 57.295779513082 * acos( (m_a*m_a - m_b*m_b - m_c*m_c ) / (-2*m_b*m_c ) ) ); +} + +float Triangle::distanceP2P(const TQPoint& p1, const TQPoint& p2) +{ + return(sqrt( abs( p2.x()-p1.x() ) * abs( p2.x()-p1.x() ) + + abs( p2.y()-p1.y() ) * abs( p2.y()-p1.y() ) )); +} + +} // NameSpace DigikamPerspectiveImagesPlugin |
