- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- データ構造
- データ構造索引
- クラス階層
- データフィールド

Public 型 | Public メソッド | 変数
クラス テンプレート mist::vector2< T >
ベクトルライブラリ

2次元ベクトルを扱うクラス [詳細]

`#include <vector.h>`

## Public 型
typedef T | value_type
| MISTのコンテナ内に格納するデータ型．mist::array< data > の data と同じ
typedef size_t | size_type
| 符号なしの整数を表す型．コンテナ内の要素数や，各要素を指定するときなどに利用し，内部的には size_t 型と同じ
typedef ptrdiff_t | difference_type
| 符号付きの整数を表す型．コンテナ内の要素数や，各要素を指定するときなどに利用し，内部的には ptrdiff_t 型と同じ
typedef float_type< T >::value_type | float_type
| 長さなどを計算するときに用いる浮動小数点型

## Public メソッド
| vector2 ()
| デフォルトコンストラクタ．( 0, 0 ) に初期化する
| vector2 (const value_type &xx, const value_type &yy)
| ( xx, yy ) のベクトルを作成する
| vector2 (const value_type &vv)
| ( vv, vv ) のベクトルを作成する
template<class TT >
| vector2 (const vector2< TT > &v)
| 他の2次元ベクトルで要素の型が異なるものから同じ要素を持つベクトルを作成する
| vector2 (const vector2< T > &v)
| 他の2次元ベクトルで同じ要素型のものを用いて初期化する
template<class TT >
const vector2 & | operator= (const vector2< TT > &v)
| 他のデータ型の2次元ベクトルを代入する
const vector2 & | operator= (const vector2< T > &v)
| 他の2次元ベクトルを代入する
vector2 | operator- () const
| 符号反転したベクトルを返す
template<class TT >
vector2 & | operator+= (const vector2< TT > &v)
| ベクトル和
template<class TT >
vector2 & | operator-= (const vector2< TT > &v)
| ベクトル差
template<class TT >
vector2 & | operator*= (const TT &a)
| ベクトルの定数倍
template<class TT >
vector2 & | operator/= (const TT &a)
| ベクトルを定数で割る
bool | operator== (const vector2 &v) const
| 2つのベクトルが等しい（全要素が同じ値を持つ）かどうかを判定する
bool | operator!= (const vector2 &v) const
| 2つのベクトルが等しくない（どれか１つでも異なる要素を持つ）かどうかを判定する
bool | operator< (const vector2 &v) const
| 2つのベクトルの < を判定する
bool | operator<= (const vector2 &v) const
| 2つのベクトルの <= を判定する
bool | operator> (const vector2 &v) const
| 2つのベクトルの > を判定する
bool | operator>= (const vector2 &v) const
| 2つのベクトルの >= を判定する
vector2 | unit () const
| 単位ベクトルを計算する
template<class TT >
promote_trait< T, TT >::value_type | inner (const vector2< TT > &v) const
| ベクトルの内積を計算する
template<class TT >
promote_trait< T, TT >::value_type | outer (const vector2< TT > &v) const
| ベクトルの外積を計算する
float_type | length () const
| ベクトルの大きさを計算する

## 変数
value_type | x
| X軸座標値
value_type | y
| Y軸座標値

## 説明

### template<class T>
class mist::vector2< T >

2次元ベクトルを扱うクラス

ベクトルの内積・外積等を簡便に扱うためのクラス

引数

  T | … ベクトル内に各座標を表すデータ型

## コンストラクタとデストラクタ

template<class T>
template<class TT >

mist::vector2< T >::vector2 | ( | const vector2< TT > & | v | ) |
| inline

他の2次元ベクトルで要素の型が異なるものから同じ要素を持つベクトルを作成する

注意
  異なる要素型間でデータの変換が可能でなくてはならない

## 関数

template<class T>
template<class TT >

promote_trait< T, TT >::value_type mist::vector2< T >::inner | ( | const vector2< TT > & | v | ) | const
| inline

ベクトルの内積を計算する

引数

  [in] | v | … 右辺値

template<class T>

float_type mist::vector2< T >::length | ( |  | ) | const
| inline

ベクトルの大きさを計算する

戻り値
  ベクトルの大きさ

参照元 mist::track_ball().

template<class T>

bool mist::vector2< T >::operator!= | ( | const vector2< T > & | v | ) | const
| inline

2つのベクトルが等しくない（どれか１つでも異なる要素を持つ）かどうかを判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … 2つのベクトルが異なる場合
  false | … 2つのベクトルが等しい場合

template<class T>

bool mist::vector2< T >::operator< | ( | const vector2< T > & | v | ) | const
| inline

2つのベクトルの < を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 < v2 の場合
  false | … v1 >= v2 の場合

template<class T>

bool mist::vector2< T >::operator<= | ( | const vector2< T > & | v | ) | const
| inline

2つのベクトルの <= を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 <= v2 の場合
  false | … v1 > v2 の場合

template<class T>
template<class TT >

const vector2& mist::vector2< T >::operator= | ( | const vector2< TT > & | v | ) |
| inline

他のデータ型の2次元ベクトルを代入する

コピー元であるベクトル v と全く同じベクトルを作成する．

引数

  [in] | v | … コピー元のベクトル

戻り値
  自分自身

template<class T>

const vector2& mist::vector2< T >::operator= | ( | const vector2< T > & | v | ) |
| inline

他の2次元ベクトルを代入する

コピー元であるベクトル v と全く同じベクトルを作成する．

引数

  [in] | v | … コピー元のベクトル

戻り値
  自分自身

template<class T>

bool mist::vector2< T >::operator== | ( | const vector2< T > & | v | ) | const
| inline

2つのベクトルが等しい（全要素が同じ値を持つ）かどうかを判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … 2つのベクトルが等しい場合
  false | … 2つのベクトルが異なる場合

template<class T>

bool mist::vector2< T >::operator> | ( | const vector2< T > & | v | ) | const
| inline

2つのベクトルの > を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 > v2 の場合
  false | … v1 <= v2 の場合

template<class T>

bool mist::vector2< T >::operator>= | ( | const vector2< T > & | v | ) | const
| inline

2つのベクトルの >= を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 >= v2 の場合
  false | … v1 < v2 の場合

template<class T>
template<class TT >

promote_trait< T, TT >::value_type mist::vector2< T >::outer | ( | const vector2< TT > & | v | ) | const
| inline

ベクトルの外積を計算する

引数

  [in] | v | … 右辺値

template<class T>

vector2 mist::vector2< T >::unit | ( |  | ) | const
| inline

単位ベクトルを計算する

このクラスの説明は次のファイルから生成されました:

- vector.h