|
| | Position () |
| | 默认构造函数,初始化为 (0,0,0) / Default constructor initializing to (0,0,0)
|
| |
| | Position (Scalar x, Scalar y, Scalar z) |
| | 构造函数,指定 x, y, z 坐标 / Constructor specifying x, y, z coordinates
|
| |
| | Position (const Eigen::Matrix< Scalar, 3, 1 > &p) |
| | 复制构造函数 / Copy constructor
|
| |
| | Position (const Position &p) |
| | 复制构造函数 / Copy constructor
|
| |
| template<typename T , std::enable_if_t< std::is_same< T, Scalar >::value||std::is_same< T, float >::value||std::is_same< T, double >::value, int > = 0> |
| | Position (const T(&data)[3]) |
| | 乘以旋转矩阵 / Multiply by a rotation matrix
|
| |
| Position & | operator= (const Eigen::Matrix< Scalar, 3, 1 > &p) |
| | 赋值运算符,将 Eigen 向量赋值给 Position / Assignment operator to assign an Eigen vector to Position
|
| |
| Position & | operator= (const Position &p) |
| | 赋值运算符,将 Eigen 向量赋值给 Position / Assignment operator to assign an Eigen vector to Position
|
| |
| template<typename Rotation , std::enable_if_t< std::is_same< Rotation, RotationMatrix< Scalar > >::value||std::is_same< Rotation, Eigen::Matrix< Scalar, 3, 3 > >::value||std::is_same< Rotation, Quaternion< Scalar > >::value||std::is_same< Rotation, Eigen::Quaternion< Scalar > >::value, int > = 0> |
| Eigen::Matrix< Scalar, 3, 1 > | operator* (const Rotation &R) const |
| | 赋值运算符,将另一个 Position 赋值给当前对象 / Assignment operator to assign another Position to this object
|
| |
| template<typename Rotation , std::enable_if_t< std::is_same< Rotation, RotationMatrix< Scalar > >::value||std::is_same< Rotation, Eigen::Matrix< Scalar, 3, 3 > >::value||std::is_same< Rotation, Quaternion< Scalar > >::value||std::is_same< Rotation, Eigen::Quaternion< Scalar > >::value, int > = 0> |
| const Position & | operator*= (const Rotation &R) |
| | 旋转并更新当前向量 / Rotate and update the current vector
|
| |
| Eigen::Matrix< Scalar, 3, 1 > | operator/ (const RotationMatrix< Scalar > &R) const |
| | 旋转矩阵的逆变换 / Inverse transformation using a rotation matrix
|
| |
| const Position & | operator/= (const Quaternion< Scalar > &q) |
| | 逆四元数旋转并更新当前向量 / Apply inverse quaternion rotation and update the current vector
|
| |
| const Position & | operator/= (const Eigen::Matrix< Scalar, 3, 3 > &R) |
| | 逆旋转矩阵变换并更新当前向量 / Apply inverse rotation matrix transformation and update the current vector
|
| |
| const Position & | operator/= (const Eigen::Quaternion< Scalar > &q) |
| | 逆四元数变换并更新当前向量 / Apply inverse quaternion transformation and update the current vector
|
| |
| const Position & | operator*= (Scalar s) |
| | 按标量缩放当前向量 / Scale the current vector by a scalar
|
| |
| const Position & | operator/= (Scalar s) |
| | 按标量除法缩放当前向量 / Scale the current vector by dividing with a scalar
|
| |
| Eigen::Quaternion< Scalar > | operator/ (const Position<> &p) |
| | 计算从另一个 Position 到当前 Position 的旋转四元数 / Compute the quaternion rotation from another Position to the current Position
|
| |
template<typename Scalar>
class LibXR::Position< Scalar >
三维空间中的位置向量 / 3D position vector
该类基于 Eigen::Matrix<Scalar, 3, 1>,用于表示三维坐标中的位置,并支持基本的 旋转、缩放和转换运算。 This class extends Eigen::Matrix<Scalar, 3, 1> to represent a position in 3D space, supporting basic rotation, scaling, and transformation operations.
- Template Parameters
-
| Scalar | 数值类型(默认使用 DefaultScalar) / Numeric type (default: DefaultScalar) |
Definition at line 38 of file transform.hpp.
template<typename Scalar >
template<typename T , std::enable_if_t< std::is_same< T, Scalar >::value||std::is_same< T, float >::value||std::is_same< T, double >::value, int > = 0>
乘以旋转矩阵 / Multiply by a rotation matrix
- Template Parameters
-
| Rotation | 旋转矩阵类型 / Rotation matrix type |
- Parameters
-
- Returns
- 旋转后的 Position / Rotated Position
Definition at line 78 of file transform.hpp.
78 : Eigen::Matrix<Scalar, 3, 1>(data)
79 {
80 }