61 friend constexpr Vec3 operator+(
const Vec3& lhs,
const Vec3& rhs)
noexcept {
return { lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z }; }
62 friend constexpr Vec3 operator-(
const Vec3& lhs,
const Vec3& rhs)
noexcept {
return { lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z }; }
63 friend constexpr Vec3 operator*(
const Vec3& lhs,
const Vec3& rhs)
noexcept {
return { lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z }; }
64 friend constexpr Vec3 operator/(
const Vec3& lhs,
const Vec3& rhs)
noexcept {
return { lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z }; }
88 friend constexpr bool operator==(
const Vec3& lhs,
const Vec3& rhs)
noexcept {
return lhs.x == rhs.x and lhs.y == rhs.y and lhs.z == rhs.z; }
89 friend constexpr bool operator!=(
const Vec3& lhs,
const Vec3& rhs)
noexcept {
return not(lhs == rhs); }
93 explicit constexpr operator bool() const noexcept
99 constexpr bool isZero() const noexcept
101 return not
operator bool();
116 template <
typename T>
117 constexpr Vec3(
const s3d::Vector3D<T>& v) noexcept
118 :
x(
static_cast<double>(v.x))
119 ,
y(
static_cast<double>(v.y))
120 ,
y(
static_cast<double>(v.z))
125 template <
typename T>
126 [[nodiscard]] s3d::Vector3D<T> asSivVec3() const noexcept
136 template <
typename T>
138 operator s3d::Vector3D<T>() const noexcept
140 return asSivVec3<T>();
148 Serial.print(
"x: "), Serial.print(
x), Serial.print(
'\t');
149 Serial.print(
"y: "), Serial.print(
y), Serial.print(
'\t');
150 Serial.print(
"z: "), Serial.print(
z), Serial.print(
'\t');
二次元ベクトル
Definition Vector2D.hpp:22
Vec3 & operator/=(ValueType rhs) noexcept
Definition Vector3D.hpp:84
ValueType z
Z成分
Definition Vector3D.hpp:32
ValueType x
X成分
Definition Vector3D.hpp:26
friend constexpr Vec3 operator/(const Vec3 &lhs, ValueType rhs) noexcept
Definition Vector3D.hpp:69
Vec3 & operator+=(const Vec3 &rhs) noexcept
Definition Vector3D.hpp:76
friend constexpr bool operator!=(const Vec3 &lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:89
void clear() noexcept
値クリア
Definition Vector3D.hpp:105
UDON_ENUMERABLE(x, y, z)
OpenSiv3D との連携
friend constexpr Vec3 operator*(const Vec3 &lhs, ValueType rhs) noexcept
Definition Vector3D.hpp:68
friend constexpr Vec3 operator+(const Vec3 &lhs, ValueType rhs) noexcept
Definition Vector3D.hpp:66
friend constexpr Vec3 operator/(const Vec3 &lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:64
Vec3 & operator*=(const Vec3 &rhs) noexcept
Definition Vector3D.hpp:78
Vec3 & operator-=(const Vec3 &rhs) noexcept
Definition Vector3D.hpp:77
ValueType y
Y成分
Definition Vector3D.hpp:29
Vec3 & operator-=(ValueType rhs) noexcept
Definition Vector3D.hpp:82
friend constexpr Vec3 operator/(ValueType lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:74
constexpr Vec3(ValueType x, ValueType y, ValueType z) noexcept
コンストラクタ
Definition Vector3D.hpp:48
double ValueType
要素の型
Definition Vector3D.hpp:23
friend constexpr Vec3 operator*(const Vec3 &lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:63
friend constexpr Vec3 operator*(ValueType lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:73
friend constexpr bool operator==(const Vec3 &lhs, const Vec3 &rhs) noexcept
比較演算子
Definition Vector3D.hpp:88
Vec3 & operator*=(ValueType rhs) noexcept
Definition Vector3D.hpp:83
friend constexpr Vec3 operator+(ValueType lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:71
friend constexpr Vec3 operator-(const Vec3 &lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:62
Vec3 & operator+=(ValueType rhs) noexcept
Definition Vector3D.hpp:81
friend constexpr Vec3 operator+(const Vec3 &lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:61
static constexpr size_t Dimension
次元数
Definition Vector3D.hpp:35
friend constexpr Vec3 operator-(const Vec3 &lhs, ValueType rhs) noexcept
Definition Vector3D.hpp:67
Vec3 & operator/=(const Vec3 &rhs) noexcept
Definition Vector3D.hpp:79
constexpr bool isZero() const noexcept
ゼロベクトルであるかを返す
Definition Vector3D.hpp:99
Vec3(const Vec3 &)=default
デフォルトコピーコンストラクタ
Vec3 & operator=(const Vec3 &)=default
デフォルトコピー代入演算子
friend constexpr Vec3 operator-(ValueType lhs, const Vec3 &rhs) noexcept
Definition Vector3D.hpp:72
constexpr Vec3() noexcept
デフォルトコンストラクタ
Definition Vector3D.hpp:38
Udon::Vec2 xy() const noexcept
Definition Vector3D.hpp:12