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

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

#include <spline.h>

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

Public 型

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

Public メソッド

void construct_spline ()
 スプラインを描画する前に必ず呼び出す
value_type operator() (double t)
 指定された位置(区間0〜1)に対応する,3次スプライン補間結果を返す
SplineMode mode () const
 スプライン曲線の種類を取得
SplineMode mode (SplineMode m)
 スプライン曲線の種類を設定
const splineoperator= (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 >
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次スプラインを作成する
// 制御点を追加
b.push_back( 2.0 );
b.push_back( 3.0 );
...
// 曲線の種類を以下の方法のいずれかを用いて設定
// ・閉曲線の設定
// ・最初と最後の制御点を通る場合の設定
// スプラインを描画する前に必ず呼び出す
b.construct_spline( );
// 補間点を計算(区間は0〜1)
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

指定された位置(区間0〜1)に対応する,3次スプライン補間結果を返す

引数
[in]t… 全体の曲線を区間0〜1とした時に,補間される点の位置
戻り値
指定された点の位置に対応する3次スプライン曲線の補間結果

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

Generated on Wed Nov 12 2014 19:44:29 for MIST by doxygen 1.8.1.2