• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2     Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <wildfox@kde.org>
3                   2004, 2005 Rob Buis <buis@kde.org>
4                   2005 Eric Seidel <eric@webkit.org>
5 
6     This library is free software; you can redistribute it and/or
7     modify it under the terms of the GNU Library General Public
8     License as published by the Free Software Foundation; either
9     version 2 of the License, or (at your option) any later version.
10 
11     This library is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14     Library General Public License for more details.
15 
16     You should have received a copy of the GNU Library General Public License
17     aint with this library; see the file COPYING.LIB.  If not, write to
18     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19     Boston, MA 02110-1301, USA.
20 */
21 
22 #ifndef FloatPoint3D_h
23 #define FloatPoint3D_h
24 
25 namespace WebCore {
26 
27 class FloatPoint;
28 
29 class FloatPoint3D {
30 public:
31     FloatPoint3D();
32     FloatPoint3D(float x, float y, float z);
33     FloatPoint3D(const FloatPoint&);
34 
x()35     float x() const { return m_x; }
setX(float x)36     void setX(float x) { m_x = x; }
37 
y()38     float y() const { return m_y; }
setY(float y)39     void setY(float y) { m_y = y; }
40 
z()41     float z() const { return m_z; }
setZ(float z)42     void setZ(float z) { m_z = z; }
43 
44     void normalize();
45 
46 private:
47     float m_x;
48     float m_y;
49     float m_z;
50 };
51 
52 inline bool operator==(const FloatPoint3D& a, const FloatPoint3D& b)
53 {
54     return a.x() == b.x() && a.y() == b.y() && a.z() == b.z();
55 }
56 
57 inline bool operator!=(const FloatPoint3D& a, const FloatPoint3D& b)
58 {
59     return a.x() != b.x() || a.y() != b.y() || a.z() != b.z();
60 }
61 
62 } // namespace WebCore
63 
64 #endif // FloatPoint3D_h
65