Index: ui/gfx/matrix3_f.h |
diff --git a/ui/gfx/matrix3_f.h b/ui/gfx/matrix3_f.h |
index a8ae5b578a8dfedbf9f5ac79deca1cbcb169932d..936c312475bc8ea78197a4d5cd43c11252957ecf 100644 |
--- a/ui/gfx/matrix3_f.h |
+++ b/ui/gfx/matrix3_f.h |
@@ -1,108 +1,7 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef UI_GFX_MATRIX3_F_H_ |
-#define UI_GFX_MATRIX3_F_H_ |
+// TODO(beng): remove once callsites are patched. |
+#include "ui/gfx/geometry/matrix3_f.h" |
-#include "base/logging.h" |
-#include "ui/gfx/vector3d_f.h" |
- |
-namespace gfx { |
- |
-class GFX_EXPORT Matrix3F { |
- public: |
- ~Matrix3F(); |
- |
- static Matrix3F Zeros(); |
- static Matrix3F Ones(); |
- static Matrix3F Identity(); |
- static Matrix3F FromOuterProduct(const Vector3dF& a, const Vector3dF& bt); |
- |
- bool IsEqual(const Matrix3F& rhs) const; |
- |
- // Element-wise comparison with given precision. |
- bool IsNear(const Matrix3F& rhs, float precision) const; |
- |
- float get(int i, int j) const { |
- return data_[MatrixToArrayCoords(i, j)]; |
- } |
- |
- void set(int i, int j, float v) { |
- data_[MatrixToArrayCoords(i, j)] = v; |
- } |
- |
- void set(float m00, float m01, float m02, |
- float m10, float m11, float m12, |
- float m20, float m21, float m22) { |
- data_[0] = m00; |
- data_[1] = m01; |
- data_[2] = m02; |
- data_[3] = m10; |
- data_[4] = m11; |
- data_[5] = m12; |
- data_[6] = m20; |
- data_[7] = m21; |
- data_[8] = m22; |
- } |
- |
- Vector3dF get_column(int i) const { |
- return Vector3dF( |
- data_[MatrixToArrayCoords(0, i)], |
- data_[MatrixToArrayCoords(1, i)], |
- data_[MatrixToArrayCoords(2, i)]); |
- } |
- |
- void set_column(int i, const Vector3dF& c) { |
- data_[MatrixToArrayCoords(0, i)] = c.x(); |
- data_[MatrixToArrayCoords(1, i)] = c.y(); |
- data_[MatrixToArrayCoords(2, i)] = c.z(); |
- } |
- |
- // Returns an inverse of this if the matrix is non-singular, zero (== Zero()) |
- // otherwise. |
- Matrix3F Inverse() const; |
- |
- // Value of the determinant of the matrix. |
- float Determinant() const; |
- |
- // Trace (sum of diagonal elements) of the matrix. |
- float Trace() const { |
- return data_[MatrixToArrayCoords(0, 0)] + |
- data_[MatrixToArrayCoords(1, 1)] + |
- data_[MatrixToArrayCoords(2, 2)]; |
- } |
- |
- // Compute eigenvalues and (optionally) normalized eigenvectors of |
- // a positive defnite matrix *this. Eigenvectors are computed only if |
- // non-null |eigenvectors| matrix is passed. If it is NULL, the routine |
- // will not attempt to compute eigenvectors but will still return eigenvalues |
- // if they can be computed. |
- // If eigenvalues cannot be computed (the matrix does not meet constraints) |
- // the 0-vector is returned. Note that to retrieve eigenvalues, the matrix |
- // only needs to be symmetric while eigenvectors require it to be |
- // positive-definite. Passing a non-positive definite matrix will result in |
- // NaNs in vectors which cannot be computed. |
- // Eigenvectors are placed as column in |eigenvectors| in order corresponding |
- // to eigenvalues. |
- Vector3dF SolveEigenproblem(Matrix3F* eigenvectors) const; |
- |
- private: |
- Matrix3F(); // Uninitialized default. |
- |
- static int MatrixToArrayCoords(int i, int j) { |
- DCHECK(i >= 0 && i < 3); |
- DCHECK(j >= 0 && j < 3); |
- return i * 3 + j; |
- } |
- |
- float data_[9]; |
-}; |
- |
-inline bool operator==(const Matrix3F& lhs, const Matrix3F& rhs) { |
- return lhs.IsEqual(rhs); |
-} |
- |
-} // namespace gfx |
- |
-#endif // UI_GFX_MATRIX3_F_H_ |