30 #include <Eigen/Geometry> 48 void Clear()
override = 0;
49 bool IsEmpty()
const override = 0;
61 const Eigen::Vector3d& rotation,
88 const double phi = rotation.norm();
89 return Eigen::AngleAxisd(phi, rotation / phi).toRotationMatrix();
91 return Eigen::Matrix3d::Identity();
Eigen::Matrix3d RotationMatrixZ(double radians)
Definition: Eigen.cpp:295
virtual Geometry3D & Scale(const double scale, bool center=true)=0
Definition: Geometry.h:32
bool IsEmpty() const override=0
virtual Eigen::Vector3d GetMinBound() const =0
Geometry3D(GeometryType type)
Definition: Geometry3D.h:45
virtual Geometry3D & Transform(const Eigen::Matrix4d &transformation)=0
Eigen::Matrix3d GetRotationMatrix(const Eigen::Vector3d &rotation, RotationType type=RotationType::XYZ) const
Definition: Geometry3D.h:60
virtual Eigen::Vector3d GetMaxBound() const =0
RotationType
Definition: Geometry3D.h:40
virtual Geometry3D & Rotate(const Eigen::Vector3d &rotation, bool center=true, RotationType type=RotationType::XYZ)=0
Eigen::Matrix3d RotationMatrixX(double radians)
Definition: Eigen.cpp:281
Definition: Geometry3D.h:38
char type
Definition: FilePCD.cpp:56
~Geometry3D() override
Definition: Geometry3D.h:42
Definition: PinholeCameraIntrinsic.cpp:34
Eigen::Matrix3d RotationMatrixY(double radians)
Definition: Eigen.cpp:288
GeometryType
Definition: Geometry.h:34
virtual Geometry3D & Translate(const Eigen::Vector3d &translation)=0