FineKernelToolKit 4.2.13
|
平行投影法を制御するクラス [詳解]
#include <FK/Projection.h>
公開メンバ関数 | |
fk_Ortho (double left=-500.0, double right=500.0, double bottom=-500.0, double top=500.0, double near=0.0, double far=10000.0) | |
コンストラクタ | |
virtual | ~fk_Ortho () |
デストラクタ | |
fk_Ortho (const fk_Ortho &) | |
コピーコンストラクタ | |
fk_Ortho & | operator= (const fk_Ortho &) |
単純代入演算子 | |
void | setLeft (double left) |
クリッピング左側面距離設定関数 | |
void | setRight (double right) |
クリッピング左側面距離設定関数 | |
void | setBottom (double bottom) |
クリッピング左側面距離設定関数 | |
void | setTop (double top) |
クリッピング左側面距離設定関数 | |
void | setNear (double near) |
クリッピング近距離距離設定関数 | |
void | setFar (double far) |
クリッピング遠距離距離設定関数 | |
void | setAll (double left, double right, double bottom, double top, double near, double far) |
一括設定関数 | |
double | getLeft (void) const |
クリッピング左側面距離参照関数 | |
double | getRight (void) const |
クリッピング右側面距離参照関数 | |
double | getBottom (void) const |
クリッピング下側面距離参照関数 | |
double | getTop (void) const |
クリッピング上側面距離参照関数 | |
double | getNear (void) const |
クリッピング近距離距離参照関数 | |
double | getFar (void) const |
クリッピング遠距離距離参照関数 | |
![]() | |
fk_ProjectBase (fk_ProjectMode=fk_ProjectMode::NONE) | |
コンストラクタ | |
virtual | ~fk_ProjectBase () |
デストラクタ | |
fk_ProjectMode | getMode (void) const |
投影法参照関数 | |
![]() | |
fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
コンストラクタ | |
fk_Type | getObjectType (void) const |
タイプ取得関数 | |
平行投影法を制御するクラス
このクラスは、平行投影法(正投影法とも呼ばれます)の設定を制御する機能を提供します。 本クラスで平行投影に対する様々な値を設定し、 fk_DisplayLink::setProjection() 関数を用いてシーンに設定することで、 シーン内の投影設定を行うことができます。
平行投影の特徴は、カメラからの距離に関係なく常に同じ大きさで表示することです。 現象として、3次元空間中で平行な線や面は、表示画像においても平行となります。 そのため、設計などの用途には適しています。以下がその概念図です。
しかし、人間の目やカメラなどによる感覚とは異なるため、 広い領域の表示の際には遠近感が損なわれ違和感を感じるものとなります。 そのような場合は、 fk_Perspective による透視投影を用いた方がよいでしょう。
設定は、左右、上下、遠近の各面を表す距離を設定します。
FK::fk_Ortho::fk_Ortho | ( | double | left = -500.0 , |
double | right = 500.0 , |
||
double | bottom = -500.0 , |
||
double | top = 500.0 , |
||
double | near = 0.0 , |
||
double | far = 10000.0 |
||
) |
コンストラクタ
コンストラクタで、初期値を設定することが可能です。 下記の「面」は、全てクリッピング面を表します。
[in] | left | 視線ベクトルから左側面への距離 |
[in] | right | 視線ベクトルから右側面への距離 |
[in] | bottom | 視線ベクトルから下側面への距離 |
[in] | top | 視線ベクトルから上側面への距離 |
[in] | near | カメラから近距離面への距離 |
[in] | far | カメラから遠距離面への距離 |
|
virtual |
デストラクタ
FK::fk_Ortho::fk_Ortho | ( | const fk_Ortho & | ) |
コピーコンストラクタ
void FK::fk_Ortho::setLeft | ( | double | left | ) |
クリッピング左側面距離設定関数
視線ベクトルからクリッピング左側面への距離を設定します。
[in] | left | 距離 |
void FK::fk_Ortho::setRight | ( | double | right | ) |
クリッピング左側面距離設定関数
視線ベクトルからクリッピング右側面への距離を設定します。
[in] | right | 距離 |
void FK::fk_Ortho::setBottom | ( | double | bottom | ) |
クリッピング左側面距離設定関数
視線ベクトルからクリッピング下側面への距離を設定します。
[in] | bottom | 距離 |
void FK::fk_Ortho::setTop | ( | double | top | ) |
クリッピング左側面距離設定関数
視線ベクトルからクリッピング上側面への距離を設定します。
[in] | top | 距離 |
void FK::fk_Ortho::setNear | ( | double | near | ) |
クリッピング近距離距離設定関数
カメラからクリッピング近距離面への距離を設定します。
[in] | near | 距離 |
void FK::fk_Ortho::setFar | ( | double | far | ) |
クリッピング遠距離距離設定関数
カメラからクリッピング遠距離面への距離を設定します。
[in] | far | 距離 |
void FK::fk_Ortho::setAll | ( | double | left, |
double | right, | ||
double | bottom, | ||
double | top, | ||
double | near, | ||
double | far | ||
) |
一括設定関数
各クリッピング面の距離を一括して設定します。 下記の「面」は、全てクリッピング面を表します。
[in] | left | 視線ベクトルから左側面への距離 |
[in] | right | 視線ベクトルから右側面への距離 |
[in] | bottom | 視線ベクトルから下側面への距離 |
[in] | top | 視線ベクトルから上側面への距離 |
[in] | near | カメラから近距離面への距離 |
[in] | far | カメラから遠距離面への距離 |
double FK::fk_Ortho::getLeft | ( | void | ) | const |
クリッピング左側面距離参照関数
視線ベクトルからクリッピング左側面への距離を参照します。
double FK::fk_Ortho::getRight | ( | void | ) | const |
クリッピング右側面距離参照関数
視線ベクトルからクリッピング右側面への距離を参照します。
double FK::fk_Ortho::getBottom | ( | void | ) | const |
クリッピング下側面距離参照関数
視線ベクトルからクリッピング下側面への距離を参照します。
double FK::fk_Ortho::getTop | ( | void | ) | const |
クリッピング上側面距離参照関数
視線ベクトルからクリッピング上側面への距離を参照します。
double FK::fk_Ortho::getNear | ( | void | ) | const |
クリッピング近距離距離参照関数
カメラからクリッピング近距離面への距離を参照します。
double FK::fk_Ortho::getFar | ( | void | ) | const |
クリッピング遠距離距離参照関数
カメラからクリッピング遠距離面への距離を参照します。