#include "ui/gfx/geometry/vector3d_f.h"
#include <cmath>
#include "base/numerics/angle_conversions.h"
#include "base/strings/stringprintf.h"
namespace {
const double kEpsilon = …;
}
namespace gfx {
std::string Vector3dF::ToString() const { … }
bool Vector3dF::IsZero() const { … }
void Vector3dF::Add(const Vector3dF& other) { … }
void Vector3dF::Subtract(const Vector3dF& other) { … }
double Vector3dF::LengthSquared() const { … }
float Vector3dF::Length() const { … }
void Vector3dF::Scale(float x_scale, float y_scale, float z_scale) { … }
void Vector3dF::InvScale(float inv_x_scale,
float inv_y_scale,
float inv_z_scale) { … }
void Vector3dF::Cross(const Vector3dF& other) { … }
bool Vector3dF::GetNormalized(Vector3dF* out) const { … }
float DotProduct(const Vector3dF& lhs, const Vector3dF& rhs) { … }
Vector3dF ScaleVector3d(const Vector3dF& v,
float x_scale,
float y_scale,
float z_scale) { … }
float AngleBetweenVectorsInDegrees(const gfx::Vector3dF& base,
const gfx::Vector3dF& other) { … }
float ClockwiseAngleBetweenVectorsInDegrees(const gfx::Vector3dF& base,
const gfx::Vector3dF& other,
const gfx::Vector3dF& normal) { … }
}