15 #ifndef GEOMETRY__VECTOR3__INTERNAL_ANGLE_HPP_
16 #define GEOMETRY__VECTOR3__INTERNAL_ANGLE_HPP_
28 typename T,
typename U,
29 std::enable_if_t<std::conjunction_v<IsLikeVector3<T>, IsLikeVector3<U>>, std::nullptr_t> =
34 if (-1 <= val && val <= 1) {
35 return std::acos(val);
38 "value of v0*v1/(size(v0)*size(v1)) in vector v0 : ", v0.x,
",", v0.y,
",", v0.z,
39 " and v1 : ", v1.x,
",", v1.y,
",", v1.z,
"is out of range, value = ", val);
#define THROW_SIMULATION_ERROR(...)
Definition: exception.hpp:60
auto norm(const T &v)
Definition: norm.hpp:25
auto getInternalAngle(const T &v0, const U &v1)
Definition: internal_angle.hpp:31
auto innerProduct(const T &v0, const U &v1)
Definition: inner_product.hpp:28
Definition: bounding_box.hpp:32