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

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

Public 型 | Public メソッド | Protected メソッド | Protected 変数
クラス テンプレート mist::spline< T, Allocator >
3次スプライン曲線

3次スプライン曲線を扱うためのクラス [詳細]

`#include <spline.h>`

std::vector< T >を継承しています。

## Public 型
enum | SplineMode { CLOSED, OPEN }
| 3次スプラインを描画する際のパラメータ [詳細]

## Public メソッド
void | construct_spline ()
| スプラインを描画する前に必ず呼び出す
value_type | operator() (double t)
| 指定された位置（区間０〜１）に対応する，3次スプライン補間結果を返す
SplineMode | mode () const
| スプライン曲線の種類を取得
SplineMode | mode (SplineMode m)
| スプライン曲線の種類を設定
const spline & | operator= (const spline &b)
| 代入演算子
| spline (const spline &b)
| コピーコンストラクタ
| spline ()
| デフォルトのコンストラクタ

## Protected メソッド
void | closed_spline ()
| 閉曲線の各制御点上での微係数を計算する
void | open_spline ()
| 開曲線の各制御点上での1次微係数を計算する

## Protected 変数
SplineMode | mode_
| スプライン曲線の設定
point_list | p1_
| 各制御点上での微係数

## Additional Inherited Members
変数 inherited from std::vector< T >
T | elements
| STL member.

## 説明

### template<class T, class Allocator = std::allocator< T >>
class mist::spline< T, Allocator >

3次スプライン曲線を扱うためのクラス

3次スプライン曲線を描画可能．可変個数の制御点に対応し，開曲線と閉曲線の3次スプライン曲線を描画

注意
  入力されるデータ型が，四則演算（要素同士の点演算，単一のスカラー値を全てに代入する操作）をサポートする必要がある．
  ただし，vector2，vector3 は正しく動作するようになっている．
  array 等のMISTコンテナを利用する際には，オペレータを有効にする必要がある．

引数

  T | … 各制御点・補間点を表すデータ構造を指定（double や vector3< double > など）

3次スプライン曲線の作成例
// 3次で変数の型が double の3次スプラインを作成する
mist::spline< double > b;
// 制御点を追加
b.push_back( 2.0 );
b.push_back( 3.0 );
...
// 曲線の種類を以下の方法のいずれかを用いて設定
// ・閉曲線の設定
b.mode( mist::spline< double >::CLOSED );
// ・最初と最後の制御点を通る場合の設定
b.mode( mist::spline< double >::OPEN );
// スプラインを描画する前に必ず呼び出す
b.construct_spline( );
// 補間点を計算（区間は０〜１）
double p1 = b( 0.0 );
double p2 = b( 0.4 );
double p3 = b( 0.7 );
...

## 列挙型

template<class T , class Allocator = std::allocator< T >>

enum mist::spline::SplineMode

3次スプラインを描画する際のパラメータ

列挙型の値:

  CLOSED | 閉曲線の設定
  OPEN | 開曲線の設定

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

template<class T , class Allocator = std::allocator< T >>

mist::spline< T, Allocator >::spline | ( |  | ) |
| inline

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

デフォルト値を「開曲線」に設定する

## 関数

template<class T , class Allocator = std::allocator< T >>

value_type mist::spline< T, Allocator >::operator() | ( | double | t | ) |
| inline

指定された位置（区間０〜１）に対応する，3次スプライン補間結果を返す

引数

  [in] | t | … 全体の曲線を区間０〜１とした時に，補間される点の位置

戻り値
  指定された点の位置に対応する3次スプライン曲線の補間結果

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

- spline.h