Created SphericalPoint in array_util.h

Review URL: https://codereview.webrtc.org/1211703002

Cr-Commit-Position: refs/heads/master@{#9507}
This commit is contained in:
bloch 2015-06-25 14:23:43 -07:00 committed by Commit bot
parent 93fb53acf5
commit ebe7422372

View File

@ -23,19 +23,13 @@ struct CartesianPoint {
c[1] = y; c[1] = y;
c[2] = z; c[2] = z;
} }
T x() const { T x() const { return c[0]; }
return c[0]; T y() const { return c[1]; }
} T z() const { return c[2]; }
T y() const {
return c[1];
}
T z() const {
return c[2];
}
T c[3]; T c[3];
}; };
typedef CartesianPoint<float> Point; using Point = CartesianPoint<float>;
template<typename T> template<typename T>
float Distance(CartesianPoint<T> a, CartesianPoint<T> b) { float Distance(CartesianPoint<T> a, CartesianPoint<T> b) {
@ -44,6 +38,21 @@ float Distance(CartesianPoint<T> a, CartesianPoint<T> b) {
(a.z() - b.z()) * (a.z() - b.z())); (a.z() - b.z()) * (a.z() - b.z()));
} }
template <typename T>
struct SphericalPoint {
SphericalPoint(T azimuth, T elevation, T radius) {
s[0] = azimuth;
s[1] = elevation;
s[2] = radius;
}
T azimuth() const { return s[0]; }
T elevation() const { return s[1]; }
T distance() const { return s[2]; }
T s[3];
};
using SphericalPointf = SphericalPoint<float>;
} // namespace webrtc } // namespace webrtc
#endif // WEBRTC_MODULES_AUDIO_PROCESSING_BEAMFORMER_ARRAY_UTIL_H_ #endif // WEBRTC_MODULES_AUDIO_PROCESSING_BEAMFORMER_ARRAY_UTIL_H_