| Index: ui/gfx/point3_f.h
|
| diff --git a/ui/gfx/point3_f.h b/ui/gfx/point3_f.h
|
| index c0aefb5b53391383f9e6d6896e12ba1886c1f2b7..6c45a7d34a336297c5c83c1b807ac4be016481b0 100644
|
| --- a/ui/gfx/point3_f.h
|
| +++ b/ui/gfx/point3_f.h
|
| @@ -5,12 +5,16 @@
|
| #ifndef UI_GFX_POINT3_F_H_
|
| #define UI_GFX_POINT3_F_H_
|
|
|
| +#include <string>
|
| +
|
| +#include "ui/base/ui_export.h"
|
| #include "ui/gfx/point_f.h"
|
| +#include "ui/gfx/vector3d_f.h"
|
|
|
| namespace gfx {
|
|
|
| // A point has an x, y and z coordinate.
|
| -class Point3F {
|
| +class UI_EXPORT Point3F {
|
| public:
|
| Point3F() : x_(0), y_(0), z_(0) {}
|
|
|
| @@ -44,6 +48,9 @@ class Point3F {
|
|
|
| PointF AsPointF() const { return PointF(x_, y_); }
|
|
|
| + // Returns a string representation of 3d point.
|
| + std::string ToString() const;
|
| +
|
| private:
|
| float x_;
|
| float y_;
|
| @@ -52,6 +59,29 @@ class Point3F {
|
| // copy/assign are allowed.
|
| };
|
|
|
| +inline bool operator==(const Point3F& lhs, const Point3F& rhs) {
|
| + return lhs.x() == rhs.x() && lhs.y() == rhs.y() && lhs.z() == rhs.z();
|
| +}
|
| +
|
| +inline bool operator!=(const Point3F& lhs, const Point3F& rhs) {
|
| + return !(lhs == rhs);
|
| +}
|
| +
|
| +// Add a vector to a point, producing a new point offset by the vector.
|
| +UI_EXPORT Point3F operator+(const Point3F& lhs, const Vector3dF& rhs);
|
| +
|
| +// Subtract a vector from a point, producing a new point offset by the vector's
|
| +// inverse.
|
| +UI_EXPORT Point3F operator-(const Point3F& lhs, const Vector3dF& rhs);
|
| +
|
| +// Subtract one point from another, producing a vector that represents the
|
| +// distances between the two points along each axis.
|
| +UI_EXPORT Vector3dF operator-(const Point3F& lhs, const Point3F& rhs);
|
| +
|
| +inline Point3F PointAtOffsetFromOrigin(const Vector3dF& offset) {
|
| + return Point3F(offset.x(), offset.y(), offset.z());
|
| +}
|
| +
|
| } // namespace gfx
|
|
|
| #endif // UI_GFX_POINT3_F_H_
|
|
|