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

二次元ベクトル [詳解]

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

公開型

using ValueType = double
 要素の型
 

公開メンバ関数

constexpr Vec2 () noexcept
 デフォルトコンストラクタ
 
constexpr Vec2 (ValueType x, ValueType y) noexcept
 コンストラクタ
 
 Vec2 (const Vec2 &)=default
 デフォルトコピーコンストラクタ
 
Vec2operator= (const Vec2 &)=default
 デフォルトコピー代入演算子
 
Vec2operator+= (const Vec2 &rhs) noexcept
 
Vec2operator-= (const Vec2 &rhs) noexcept
 
Vec2operator*= (const Vec2 &rhs) noexcept
 
Vec2operator/= (const Vec2 &rhs) noexcept
 
Vec2operator+= (ValueType rhs) noexcept
 
Vec2operator-= (ValueType rhs) noexcept
 
Vec2operator*= (ValueType rhs) noexcept
 
Vec2operator/= (ValueType rhs) noexcept
 
constexpr operator bool () const noexcept
 要素のいずれかに0以外の値があるかどうかを返す
 
constexpr bool isZero () const noexcept
 ゼロベクトルであるかを返す
 
void clear () noexcept
 値クリア
 
Vec2replaceX (ValueType newValue) noexcept
 
Vec2replaceY (ValueType newValue) noexcept
 
template<typename Visitor >
Vec2replaceX (Visitor &&visitor) noexcept
 
template<typename Visitor >
Vec2replaceY (Visitor &&visitor) noexcept
 
Vec2 abs () const noexcept
 絶対値を取る
 
Vec2 rotatedAt (const Vec2 &center, ValueType angle) const noexcept
 指定された点を中心に時計回りに回転したベクトルを返す
 
Vec2rotateAt (const Vec2 &center, ValueType angle) noexcept
 指定された点を中心に時計回りに回転させる
 
Vec2 rotated (ValueType angle) const noexcept
 原点を中心に回転したベクトルを返す
 
Vec2rotate (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
 長さを変更したベクトルを返す
 
Vec2scaleLength (ValueType length) noexcept
 ベクトルの長さを指定された値にする
 
constexpr Vec2 mapped (ValueType fromMin, ValueType fromMax, ValueType toMin, ValueType toMax) const noexcept
 各要素をある範囲から別の範囲に再マップしたベクトルを返す
 
Vec2map (ValueType fromMin, ValueType fromMax, ValueType toMin, ValueType toMax) noexcept
 各要素をある範囲から別の範囲に再マップする
 
Vec2 normalized () const noexcept
 正規化したベクトルを返す
 
Vec2normalize () noexcept
 ベクトルを正規化する
 
constexpr Vec2 clamped (ValueType min, ValueType max) const noexcept
 各要素に制限をかけたベクトルを返す
 
Vec2clamp (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()

static 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成分


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