|
WebCFace 3.2.1
Web-based Communication Framework & Dashboard-like UI
|
3次元の平行移動と回転 More...
#include <webcface/transform.h>
Public Member Functions | |
| Transform () | |
| Transform (const Point &pos, const Rotation &rot) | |
| Transform (const Rotation &rot) | |
| 回転のみの場合Rotationからキャスト | |
| Transform (const Point &pos, const std::array< double, 3 > &rot) | |
| オイラー角から初期化 | |
| Transform (const Point &pos, double rot) | |
| 2次元の座標と回転を初期化 | |
| Transform (double x, double y, double z, double z_angle, double y_angle, double x_angle) | |
| 3次元の座標と回転をオイラー角から初期化 | |
| Transform (double x, double y) | |
| 2次元の座標を初期化 | |
| Transform | appliedTo (const Transform &target) const |
| このTransformを別のTransformに適用する | |
| Transform | operator* (const Transform &target) const |
| このTransformを別のTransformに適用する | |
| Transform | appliedTo (const Rotation &target) const |
| このTransformをRotationに適用する | |
| Transform | operator* (const Rotation &target) const |
| このTransformをRotationに適用する | |
| Transform & | operator*= (const Transform &target) |
| このTransformを別のTransformに適用した結果で置き換える | |
| Point | appliedTo (const Point &target) const |
| このTransformをPointに適用する | |
| Point | operator* (const Point &target) const |
| このTransformをPointに適用する | |
| Transform | inversed () const |
| 逆変換を表すTransformを取得 | |
| bool | operator== (const Transform &other) const |
| bool | operator!= (const Transform &other) const |
| bool | operator== (const Rotation &other) const |
| bool | operator!= (const Rotation &other) const |
| std::array< double, 3 > | pos () const |
| 3次元座標を取得 | |
| std::array< double, 3 > & | pos () |
| 3次元座標を取得・変更 | |
| double | pos (std::size_t index) const |
| 座標を取得 | |
| double & | pos (std::size_t i) |
| 座標を取得・変更 | |
| std::array< double, 3 > | rot () const |
| 3次元の回転をオイラー角として取得 | |
| double | rot (std::size_t index) const |
| 3次元の回転をZYX順のオイラー角として取得 | |
| std::array< double, 3 > & | rot () |
| 3次元の回転をオイラー角として取得・変更 | |
| double & | rot (std::size_t index) |
| 3次元の回転をZYX順のオイラー角として取得・変更 | |
| double | rot2D () const |
| 2次元の回転を取得 | |
| AxisAngle | rotAxisAngle () const |
| 回転軸と角度として取得 | |
| std::array< double, 3 > | rotEuler (AxisSequence axis=AxisSequence::ZYX) const |
| 3次元の回転をオイラー角として取得 | |
| const std::array< std::array< double, 3 >, 3 > & | rotMatrix () const |
| 回転行列を取得 | |
| double | rotMatrix (std::size_t row, std::size_t col) const |
| 回転行列の要素を取得 | |
| std::array< double, 4 > | rotQuat () const |
| クォータニオンとして取得 | |
Private Member Functions | |
| Point | operator* (double scalar) const |
| x, y, z の各要素をスカラー倍したPointを返す | |
| Point & | operator*= (double scalar) |
| bool | operator== (const Point &other) const |
| bool | operator== (const Transform &)=delete |
| bool | operator!= (const Point &other) const |
| bool | operator!= (const Transform &)=delete |
| Rotation & | operator*= (const Rotation &target) |
| このRotationを別のRotationに適用した結果で置き換える | |
Friends | |
| class | Point |
| class | Rotation |
|
inline |
オイラー角から初期化
| pos | x, y, z 座標 |
| rot | オイラー角 回転軸の順序は z, y, x の順 |
2次元の座標と回転を初期化
| pos | x, y 座標 |
| rot | 回転角(z) |
|
inline |
3次元の座標と回転をオイラー角から初期化
|
inline |
このTransformをPointに適用する
targetを (このTransformの座標系で) 回転&平行移動した結果のPointを返す。 (thisもtargetも変更されない)
this * target と同じ。
このTransformをRotationに適用する
targetを (このTransformの座標系で) 回転&平行移動した結果のTransformを返す。 結果はRotationではない。 (thisもtargetも変更されない)
this * target と同じ。
このTransformを別のTransformに適用する
targetを (このTransformの座標系で) 回転&平行移動した結果のTransformを返す。 (thisもtargetも変更されない)
this * target と同じ。
| Transform inversed | ( | ) | const |
逆変換を表すTransformを取得
|
inline |
|
inline |
このTransformをPointに適用する
同次変換行列とベクトルの積を計算する。 結果はtargetを (このTransformの座標系で) 回転&平行移動した結果 (this->appliedTo(target)) と同じ。
このTransformを別のTransformに適用する
同次変換行列の積を計算する。 結果はtargetを (このTransformの座標系で) 回転&平行移動した結果 (this->appliedTo(target)) と同じ。
このTransformを別のTransformに適用した結果で置き換える
this = this * target と同じ。
|
inline |
|
inline |
|
inline |
3次元座標を取得・変更
|
inline |
3次元座標を取得
|
inline |
座標を取得・変更
| index | 0→x, 1→y, 2→z |
|
inline |
座標を取得
| index | 0→x, 1→y, 2→z |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
3次元の回転をオイラー角として取得
| axis | 回転軸の順序 (ver2.5〜) ver2.4までは z, y, x の順しか指定できない |
|
inline |
回転行列を取得
|
inline |
回転行列の要素を取得
|
inline |
クォータニオンとして取得
|
friend |
|
friend |