UdonLibrary 1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
Udon::Vec2 構造体

二次元ベクトル [詳解]

#include <Udon/Types/Forward/Vector2D.hpp>

公開型

using ValueType = double
 要素の型

公開メンバ関数

constexpr Vec2 () noexcept
 デフォルトコンストラクタ
constexpr Vec2 (ValueType x, ValueType y) noexcept
 コンストラクタ
 Vec2 (const Vec2 &)=default
 デフォルトコピーコンストラクタ
Vec2 & operator= (const Vec2 &)=default
 デフォルトコピー代入演算子
Vec2 & operator+= (const Vec2 &rhs) noexcept
Vec2 & operator-= (const Vec2 &rhs) noexcept
Vec2 & operator*= (const Vec2 &rhs) noexcept
Vec2 & operator/= (const Vec2 &rhs) noexcept
Vec2 & operator+= (ValueType rhs) noexcept
Vec2 & operator-= (ValueType rhs) noexcept
Vec2 & operator*= (ValueType rhs) noexcept
Vec2 & operator/= (ValueType rhs) noexcept
constexpr operator bool () const noexcept
 要素のいずれかに0以外の値があるかどうかを返す
constexpr bool isZero () const noexcept
 ゼロベクトルであるかを返す
void clear () noexcept
 値クリア
Vec2 & replaceX (ValueType newValue) noexcept
Vec2 & replaceY (ValueType newValue) noexcept
template<typename Visitor>
Vec2 & replaceX (Visitor &&visitor) noexcept
template<typename Visitor>
Vec2 & replaceY (Visitor &&visitor) noexcept
Vec2 abs () const noexcept
 絶対値を取る
Vec2 rotatedAt (const Vec2 &center, ValueType angle) const noexcept
 指定された点を中心に時計回りに回転したベクトルを返す
Vec2 & rotateAt (const Vec2 &center, ValueType angle) noexcept
 指定された点を中心に時計回りに回転させる
Vec2 rotated (ValueType angle) const noexcept
 原点を中心に回転したベクトルを返す
Vec2 & rotate (ValueType angle) noexcept
 原点を中心に回転させる
ValueType angleAt (const Vec2 &rhs) const noexcept
 指定された点からの角度を求める
ValueType angle () const noexcept
 原点からの時計回りの角度を求める
ValueType distanceFrom (const Vec2 &rhs) const noexcept
 指定された点からの距離を求める
ValueType length () const noexcept
 原点からの距離を求める
constexpr ValueType lengthSq () const noexcept
 原点からの距離の二乗を求める
Vec2 scaledLength (ValueType length) const noexcept
 長さを変更したベクトルを返す
Vec2 & scaleLength (ValueType length) noexcept
 ベクトルの長さを指定された値にする
constexpr Vec2 mapped (ValueType fromMin, ValueType fromMax, ValueType toMin, ValueType toMax) const noexcept
 各要素をある範囲から別の範囲に再マップしたベクトルを返す
Vec2 & map (ValueType fromMin, ValueType fromMax, ValueType toMin, ValueType toMax) noexcept
 各要素をある範囲から別の範囲に再マップする
Vec2 normalized () const noexcept
 正規化したベクトルを返す
Vec2 & normalize () noexcept
 ベクトルを正規化する
constexpr Vec2 clamped (ValueType min, ValueType max) const noexcept
 各要素に制限をかけたベクトルを返す
Vec2 & clamp (ValueType min, ValueType max) noexcept
 各要素に制限をかける
Udon::Vec3 xy0 () const noexcept
Udon::Polar toPolar () const noexcept
 UDON_ENUMERABLE (x, y)
 OpenSiv3D との連携

静的公開メンバ関数

static constexpr Vec2 Zero () noexcept
 ゼロベクトルを返す

公開変数類

ValueType x
 X成分
ValueType y
 Y成分

静的公開変数類

static constexpr size_t Dimension = 2
 次元数

フレンド

constexpr Vec2 operator+ (const Vec2 &lhs, const Vec2 &rhs) noexcept
constexpr Vec2 operator- (const Vec2 &lhs, const Vec2 &rhs) noexcept
constexpr Vec2 operator* (const Vec2 &lhs, const Vec2 &rhs) noexcept
constexpr Vec2 operator/ (const Vec2 &lhs, const Vec2 &rhs) noexcept
constexpr Vec2 operator+ (const Vec2 &lhs, ValueType rhs) noexcept
constexpr Vec2 operator- (const Vec2 &lhs, ValueType rhs) noexcept
constexpr Vec2 operator* (const Vec2 &lhs, ValueType rhs) noexcept
constexpr Vec2 operator/ (const Vec2 &lhs, ValueType rhs) noexcept
constexpr Vec2 operator+ (ValueType lhs, const Vec2 &rhs) noexcept
constexpr Vec2 operator- (ValueType lhs, const Vec2 &rhs) noexcept
constexpr Vec2 operator* (ValueType lhs, const Vec2 &rhs) noexcept
constexpr Vec2 operator/ (ValueType lhs, const Vec2 &rhs) noexcept
constexpr bool operator== (const Vec2 &lhs, const Vec2 &rhs) noexcept
constexpr bool operator!= (const Vec2 &lhs, const Vec2 &rhs) noexcept

詳解

二次元ベクトル

型定義メンバ詳解

◆ ValueType

using Udon::Vec2::ValueType = double

要素の型

構築子と解体子

◆ Vec2() [1/3]

Udon::Vec2::Vec2 ( )
inlineconstexprnoexcept

デフォルトコンストラクタ

◆ Vec2() [2/3]

Udon::Vec2::Vec2 ( ValueType x,
ValueType y )
inlineconstexprnoexcept

コンストラクタ

引数
xx成分
yy成分

◆ Vec2() [3/3]

Udon::Vec2::Vec2 ( const Vec2 & )
default

デフォルトコピーコンストラクタ

関数詳解

◆ abs()

Vec2 Udon::Vec2::abs ( ) const
inlinenoexcept

絶対値を取る

戻り値

◆ angle()

ValueType Udon::Vec2::angle ( ) const
inlinenoexcept

原点からの時計回りの角度を求める

覚え書き
y軸の正が 0rad
戻り値

◆ angleAt()

ValueType Udon::Vec2::angleAt ( const Vec2 & rhs) const
inlinenoexcept

指定された点からの角度を求める

覚え書き
y軸の正が 0rad
引数
rhs指定された点
戻り値

◆ clamp()

Vec2 & Udon::Vec2::clamp ( ValueType min,
ValueType max )
inlinenoexcept

各要素に制限をかける

引数
min最小値
max最大値
戻り値

◆ clamped()

Vec2 Udon::Vec2::clamped ( ValueType min,
ValueType max ) const
inlineconstexprnoexcept

各要素に制限をかけたベクトルを返す

引数
min最小値
max最大値
戻り値

◆ clear()

void Udon::Vec2::clear ( )
inlinenoexcept

値クリア

◆ distanceFrom()

ValueType Udon::Vec2::distanceFrom ( const Vec2 & rhs) const
inlinenoexcept

指定された点からの距離を求める

引数
rhs指定された点
戻り値
指定された点からの距離

◆ isZero()

bool Udon::Vec2::isZero ( ) const
inlineconstexprnoexcept

ゼロベクトルであるかを返す

◆ length()

ValueType Udon::Vec2::length ( ) const
inlinenoexcept

原点からの距離を求める

戻り値
原点からの距離

◆ lengthSq()

ValueType Udon::Vec2::lengthSq ( ) const
inlineconstexprnoexcept

原点からの距離の二乗を求める

戻り値
原点からの距離の二乗

◆ map()

Vec2 & Udon::Vec2::map ( ValueType fromMin,
ValueType fromMax,
ValueType toMin,
ValueType toMax )
inlinenoexcept

各要素をある範囲から別の範囲に再マップする

引数
fromMin元の値の下限
fromMax元の値の上限
toMin再マップ後の値の下限
toMax再マップ後の値の上限
戻り値

◆ mapped()

Vec2 Udon::Vec2::mapped ( ValueType fromMin,
ValueType fromMax,
ValueType toMin,
ValueType toMax ) const
inlineconstexprnoexcept

各要素をある範囲から別の範囲に再マップしたベクトルを返す

引数
fromMin元の値の下限
fromMax元の値の上限
toMin再マップ後の値の下限
toMax再マップ後の値の上限
戻り値

◆ normalize()

Vec2 & Udon::Vec2::normalize ( )
inlinenoexcept

ベクトルを正規化する

戻り値

◆ normalized()

Vec2 Udon::Vec2::normalized ( ) const
inlinenoexcept

正規化したベクトルを返す

戻り値
正規化したベクトル

◆ operator bool()

Udon::Vec2::operator bool ( ) const
inlineexplicitconstexprnoexcept

要素のいずれかに0以外の値があるかどうかを返す

戻り値

◆ operator*=() [1/2]

Vec2 & Udon::Vec2::operator*= ( const Vec2 & rhs)
inlinenoexcept

◆ operator*=() [2/2]

Vec2 & Udon::Vec2::operator*= ( ValueType rhs)
inlinenoexcept

◆ operator+=() [1/2]

Vec2 & Udon::Vec2::operator+= ( const Vec2 & rhs)
inlinenoexcept

◆ operator+=() [2/2]

Vec2 & Udon::Vec2::operator+= ( ValueType rhs)
inlinenoexcept

◆ operator-=() [1/2]

Vec2 & Udon::Vec2::operator-= ( const Vec2 & rhs)
inlinenoexcept

◆ operator-=() [2/2]

Vec2 & Udon::Vec2::operator-= ( ValueType rhs)
inlinenoexcept

◆ operator/=() [1/2]

Vec2 & Udon::Vec2::operator/= ( const Vec2 & rhs)
inlinenoexcept

◆ operator/=() [2/2]

Vec2 & Udon::Vec2::operator/= ( ValueType rhs)
inlinenoexcept

◆ operator=()

Vec2 & Udon::Vec2::operator= ( const Vec2 & )
default

デフォルトコピー代入演算子

◆ replaceX() [1/2]

Vec2 & Udon::Vec2::replaceX ( ValueType newValue)
inlinenoexcept

◆ replaceX() [2/2]

template<typename Visitor>
Vec2 & Udon::Vec2::replaceX ( Visitor && visitor)
inlinenoexcept

◆ replaceY() [1/2]

Vec2 & Udon::Vec2::replaceY ( ValueType newValue)
inlinenoexcept

◆ replaceY() [2/2]

template<typename Visitor>
Vec2 & Udon::Vec2::replaceY ( Visitor && visitor)
inlinenoexcept

◆ rotate()

Vec2 & Udon::Vec2::rotate ( ValueType angle)
inlinenoexcept

原点を中心に回転させる

引数
angle回転する角度 [rad]
戻り値
回転後の座標

◆ rotateAt()

Vec2 & Udon::Vec2::rotateAt ( const Vec2 & center,
ValueType angle )
inlinenoexcept

指定された点を中心に時計回りに回転させる

引数
center回転の中心
angle回転する角度 [rad]
戻り値
回転後の座標

◆ rotated()

Vec2 Udon::Vec2::rotated ( ValueType angle) const
inlinenoexcept

原点を中心に回転したベクトルを返す

引数
angle回転する角度 [rad]
戻り値
回転後の座標

◆ rotatedAt()

Vec2 Udon::Vec2::rotatedAt ( const Vec2 & center,
ValueType angle ) const
inlinenoexcept

指定された点を中心に時計回りに回転したベクトルを返す

引数
center回転の中心
angle回転する角度 [rad]
戻り値
回転後の座標

◆ scaledLength()

Vec2 Udon::Vec2::scaledLength ( ValueType length) const
inlinenoexcept

長さを変更したベクトルを返す

引数
length指定された長さ

◆ scaleLength()

Vec2 & Udon::Vec2::scaleLength ( ValueType length)
inlinenoexcept

ベクトルの長さを指定された値にする

覚え書き
長さを0にするとゼロベクトルになるので、長さの変更ができなくなる
引数
length指定された長さ

◆ toPolar()

Udon::Polar Udon::Vec2::toPolar ( ) const
inlinenoexcept

◆ UDON_ENUMERABLE()

Udon::Vec2::UDON_ENUMERABLE ( x ,
y  )

OpenSiv3D との連携

◆ xy0()

Udon::Vec3 Udon::Vec2::xy0 ( ) const
inlinenoexcept

◆ Zero()

constexpr Vec2 Udon::Vec2::Zero ( )
inlinestaticconstexprnoexcept

ゼロベクトルを返す

戻り値
ゼロベクトル

◆ operator!=

bool operator!= ( const Vec2 & lhs,
const Vec2 & rhs )
friend

◆ operator* [1/3]

Vec2 operator* ( const Vec2 & lhs,
const Vec2 & rhs )
friend

◆ operator* [2/3]

Vec2 operator* ( const Vec2 & lhs,
ValueType rhs )
friend

◆ operator* [3/3]

Vec2 operator* ( ValueType lhs,
const Vec2 & rhs )
friend

◆ operator+ [1/3]

Vec2 operator+ ( const Vec2 & lhs,
const Vec2 & rhs )
friend

◆ operator+ [2/3]

Vec2 operator+ ( const Vec2 & lhs,
ValueType rhs )
friend

◆ operator+ [3/3]

Vec2 operator+ ( ValueType lhs,
const Vec2 & rhs )
friend

◆ operator- [1/3]

Vec2 operator- ( const Vec2 & lhs,
const Vec2 & rhs )
friend

◆ operator- [2/3]

Vec2 operator- ( const Vec2 & lhs,
ValueType rhs )
friend

◆ operator- [3/3]

Vec2 operator- ( ValueType lhs,
const Vec2 & rhs )
friend

◆ operator/ [1/3]

Vec2 operator/ ( const Vec2 & lhs,
const Vec2 & rhs )
friend

◆ operator/ [2/3]

Vec2 operator/ ( const Vec2 & lhs,
ValueType rhs )
friend

◆ operator/ [3/3]

Vec2 operator/ ( ValueType lhs,
const Vec2 & rhs )
friend

◆ operator==

bool operator== ( const Vec2 & lhs,
const Vec2 & rhs )
friend

メンバ詳解

◆ Dimension

size_t Udon::Vec2::Dimension = 2
staticconstexpr

次元数

◆ x

ValueType Udon::Vec2::x

X成分

◆ y

ValueType Udon::Vec2::y

Y成分


この構造体詳解は次のファイルから抽出されました: