Open3D (C++ API)
|
#include <Geometry3D.h>
Public Types | |
enum | RotationType { RotationType::XYZ, RotationType::YZX, RotationType::ZXY, RotationType::XZY, RotationType::ZYX, RotationType::YXZ, RotationType::AxisAngle } |
![]() | |
enum | GeometryType { GeometryType::Unspecified = 0, GeometryType::PointCloud = 1, GeometryType::VoxelGrid = 2, GeometryType::Octree = 3, GeometryType::LineSet = 4, GeometryType::TriangleMesh = 5, GeometryType::HalfEdgeTriangleMesh = 6, GeometryType::Image = 7, GeometryType::RGBDImage = 8, GeometryType::TetraMesh = 9, GeometryType::OrientedBoundingBox = 10, GeometryType::AxisAlignedBoundingBox = 11 } |
Public Member Functions | |
~Geometry3D () override | |
Geometry3D & | Clear () override=0 |
bool | IsEmpty () const override=0 |
virtual Eigen::Vector3d | GetMinBound () const =0 |
virtual Eigen::Vector3d | GetMaxBound () const =0 |
virtual Eigen::Vector3d | GetCenter () const =0 |
virtual AxisAlignedBoundingBox | GetAxisAlignedBoundingBox () const =0 |
virtual OrientedBoundingBox | GetOrientedBoundingBox () const =0 |
virtual Geometry3D & | Transform (const Eigen::Matrix4d &transformation)=0 |
virtual Geometry3D & | Translate (const Eigen::Vector3d &translation, bool relative=true)=0 |
virtual Geometry3D & | Scale (const double scale, bool center=true)=0 |
virtual Geometry3D & | Rotate (const Eigen::Vector3d &rotation, bool center=true, RotationType type=RotationType::XYZ)=0 |
![]() | |
virtual | ~Geometry () |
GeometryType | GetGeometryType () const |
int | Dimension () const |
Protected Member Functions | |
Geometry3D (GeometryType type) | |
Eigen::Vector3d | ComputeMinBound (const std::vector< Eigen::Vector3d > &points) const |
Eigen::Vector3d | ComputeMaxBound (const std::vector< Eigen::Vector3d > &points) const |
Eigen::Vector3d | ComputeCenter (const std::vector< Eigen::Vector3d > &points) const |
void | ResizeAndPaintUniformColor (std::vector< Eigen::Vector3d > &colors, const size_t size, const Eigen::Vector3d &color) const |
void | TransformPoints (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &points) const |
void | TransformNormals (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &normals) const |
void | TranslatePoints (const Eigen::Vector3d &translation, std::vector< Eigen::Vector3d > &points, bool relative) const |
void | ScalePoints (const double scale, std::vector< Eigen::Vector3d > &points, bool center) const |
void | RotatePoints (const Eigen::Vector3d &rotation, std::vector< Eigen::Vector3d > &points, bool center, RotationType type) const |
void | RotateNormals (const Eigen::Vector3d &rotation, std::vector< Eigen::Vector3d > &normals, bool center, RotationType type) const |
Eigen::Matrix3d | GetRotationMatrix (const Eigen::Vector3d &rotation, RotationType type=RotationType::XYZ) const |
![]() | |
Geometry (GeometryType type, int dimension) | |
|
strong |
|
inlineoverride |
|
inlineprotected |
|
overridepure virtual |
Implements open3d::geometry::Geometry.
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
protected |
|
protected |
|
protected |
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
protected |
|
overridepure virtual |
Implements open3d::geometry::Geometry.
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
protected |
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
protected |
|
protected |
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
protected |
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
protected |
|
protected |
|
pure virtual |
Implemented in open3d::geometry::Octree, open3d::geometry::AxisAlignedBoundingBox, open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::VoxelGrid, open3d::geometry::TriangleMesh, open3d::geometry::PointCloud, open3d::geometry::OrientedBoundingBox, open3d::geometry::LineSet, open3d::geometry::TetraMesh, and open3d::visualization::PointCloudPicker.
|
protected |