Bスプライン曲線を扱うためのクラス
[詳細]
#include <bspline.h>
std::vector< T >を継承しています。
Additional Inherited Members |
T | elements |
| STL member.
|
説明
template<class T, int K, class Allocator = std::allocator< T >>
class mist::bspline< T, K, Allocator >
Bスプライン曲線を扱うためのクラス
K次のBスプライン曲線を描画可能.可変個数の制御点に対応し,任意のノットベクトルに対応するBスプライン曲線を描画
- 注意
- 入力されるデータ型が,加減算と単一のスカラー値を全てに代入する操作と浮動小数との掛け算をサポートする必要がある.
-
ただし,vector2,vector3 は正しく動作するようになっている.
-
array 等のMISTコンテナを利用する際には,オペレータを有効にする必要がある.
- 引数
-
Bスプライン曲線の作成例
b.push_back( 2.0 );
b.push_back( 3.0 );
...
b.knot( STLのベクトルタイプのノットのリスト );
double p1 = b( 0.0 );
double p2 = b( 0.4 );
double p3 = b( 0.7 );
...
列挙型
template<class T , int K, class Allocator = std::allocator< T >>
ノットベクトルを手動で設定しない場合のデフォルトのモード
- 列挙型の値:
ROUND |
閉曲線の設定
|
THROUGH |
最初と最後の制御点を通る場合の設定
|
コンストラクタとデストラクタ
template<class T , int K, class Allocator = std::allocator< T >>
デフォルトのコンストラクタ
ノットベクトルのデフォルト値を「最初と最後を通る曲線」に設定する
関数
template<class T , int K, class Allocator = std::allocator< T >>
void mist::bspline< T, K, Allocator >::knot |
( |
const knot_list & |
kknot | ) |
|
|
inline |
任意のノットベクトルを設定する
- 注意
- 次数 K で制御点数 N とした時に,ノットベクトルの数は N + K + 1 必要である
- 引数
-
template<class T , int K, class Allocator = std::allocator< T >>
デフォルトのモードでノットベクトルを設定する
本クラス内で定義されている列挙型 BSplineMode のうちの一つを利用する
- 引数
-
template<class T , int K, class Allocator = std::allocator< T >>
value_type mist::bspline< T, K, Allocator >::operator() |
( |
double |
t | ) |
|
|
inline |
指定された位置(区間0〜1)に対応する,Bスプライン補間結果を返す
- 注意
- 次数+1の制御点数が入力されている必要あり.足りない場合は,デフォルトのノットベクトルで最初期化される.
- 引数
-
[in] | t | … 全体の曲線を区間0〜1とした時に,補間される点の位置 |
- 戻り値
- 指定された点の位置に対応するBスプライン曲線の補間結果
このクラスの説明は次のファイルから生成されました: