Open3D (C++ API)
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Member Functions
open3d::geometry::Geometry3D Class Referenceabstract

#include <Geometry3D.h>

Inheritance diagram for open3d::geometry::Geometry3D:
open3d::geometry::Geometry open3d::geometry::AxisAlignedBoundingBox open3d::geometry::HalfEdgeTriangleMesh open3d::geometry::LineSet open3d::geometry::Octree open3d::geometry::OrientedBoundingBox open3d::geometry::PointCloud open3d::geometry::TetraMesh open3d::geometry::TriangleMesh open3d::geometry::VoxelGrid open3d::visualization::PointCloudPicker

Public Types

enum  RotationType {
  RotationType::XYZ, RotationType::YZX, RotationType::ZXY, RotationType::XZY,
  RotationType::ZYX, RotationType::YXZ, RotationType::AxisAngle
}
 
- Public Types inherited from open3d::geometry::Geometry
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
 
Geometry3DClear () 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 Geometry3DTransform (const Eigen::Matrix4d &transformation)=0
 
virtual Geometry3DTranslate (const Eigen::Vector3d &translation, bool relative=true)=0
 
virtual Geometry3DScale (const double scale, bool center=true)=0
 
virtual Geometry3DRotate (const Eigen::Vector3d &rotation, bool center=true, RotationType type=RotationType::XYZ)=0
 
- Public Member Functions inherited from open3d::geometry::Geometry
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
 
- Protected Member Functions inherited from open3d::geometry::Geometry
 Geometry (GeometryType type, int dimension)
 

Member Enumeration Documentation

◆ RotationType

Enumerator
XYZ 
YZX 
ZXY 
XZY 
ZYX 
YXZ 
AxisAngle 

Constructor & Destructor Documentation

◆ ~Geometry3D()

open3d::geometry::Geometry3D::~Geometry3D ( )
inlineoverride

◆ Geometry3D()

open3d::geometry::Geometry3D::Geometry3D ( GeometryType  type)
inlineprotected

Member Function Documentation

◆ Clear()

Geometry3D& open3d::geometry::Geometry3D::Clear ( )
overridepure virtual

◆ ComputeCenter()

Eigen::Vector3d open3d::geometry::Geometry3D::ComputeCenter ( const std::vector< Eigen::Vector3d > &  points) const
protected

◆ ComputeMaxBound()

Eigen::Vector3d open3d::geometry::Geometry3D::ComputeMaxBound ( const std::vector< Eigen::Vector3d > &  points) const
protected

◆ ComputeMinBound()

Eigen::Vector3d open3d::geometry::Geometry3D::ComputeMinBound ( const std::vector< Eigen::Vector3d > &  points) const
protected

◆ GetAxisAlignedBoundingBox()

virtual AxisAlignedBoundingBox open3d::geometry::Geometry3D::GetAxisAlignedBoundingBox ( ) const
pure virtual

◆ GetCenter()

virtual Eigen::Vector3d open3d::geometry::Geometry3D::GetCenter ( ) const
pure virtual

◆ GetMaxBound()

virtual Eigen::Vector3d open3d::geometry::Geometry3D::GetMaxBound ( ) const
pure virtual

◆ GetMinBound()

virtual Eigen::Vector3d open3d::geometry::Geometry3D::GetMinBound ( ) const
pure virtual

◆ GetOrientedBoundingBox()

virtual OrientedBoundingBox open3d::geometry::Geometry3D::GetOrientedBoundingBox ( ) const
pure virtual

◆ GetRotationMatrix()

Eigen::Matrix3d open3d::geometry::Geometry3D::GetRotationMatrix ( const Eigen::Vector3d &  rotation,
RotationType  type = RotationType::XYZ 
) const
protected

◆ IsEmpty()

bool open3d::geometry::Geometry3D::IsEmpty ( ) const
overridepure virtual

◆ ResizeAndPaintUniformColor()

void open3d::geometry::Geometry3D::ResizeAndPaintUniformColor ( std::vector< Eigen::Vector3d > &  colors,
const size_t  size,
const Eigen::Vector3d &  color 
) const
protected

◆ Rotate()

virtual Geometry3D& open3d::geometry::Geometry3D::Rotate ( const Eigen::Vector3d &  rotation,
bool  center = true,
RotationType  type = RotationType::XYZ 
)
pure virtual

◆ RotateNormals()

void open3d::geometry::Geometry3D::RotateNormals ( const Eigen::Vector3d &  rotation,
std::vector< Eigen::Vector3d > &  normals,
bool  center,
RotationType  type 
) const
protected

◆ RotatePoints()

void open3d::geometry::Geometry3D::RotatePoints ( const Eigen::Vector3d &  rotation,
std::vector< Eigen::Vector3d > &  points,
bool  center,
RotationType  type 
) const
protected

◆ Scale()

virtual Geometry3D& open3d::geometry::Geometry3D::Scale ( const double  scale,
bool  center = true 
)
pure virtual

◆ ScalePoints()

void open3d::geometry::Geometry3D::ScalePoints ( const double  scale,
std::vector< Eigen::Vector3d > &  points,
bool  center 
) const
protected

◆ Transform()

virtual Geometry3D& open3d::geometry::Geometry3D::Transform ( const Eigen::Matrix4d &  transformation)
pure virtual

◆ TransformNormals()

void open3d::geometry::Geometry3D::TransformNormals ( const Eigen::Matrix4d &  transformation,
std::vector< Eigen::Vector3d > &  normals 
) const
protected

◆ TransformPoints()

void open3d::geometry::Geometry3D::TransformPoints ( const Eigen::Matrix4d &  transformation,
std::vector< Eigen::Vector3d > &  points 
) const
protected

◆ Translate()

virtual Geometry3D& open3d::geometry::Geometry3D::Translate ( const Eigen::Vector3d &  translation,
bool  relative = true 
)
pure virtual

◆ TranslatePoints()

void open3d::geometry::Geometry3D::TranslatePoints ( const Eigen::Vector3d &  translation,
std::vector< Eigen::Vector3d > &  points,
bool  relative 
) const
protected

The documentation for this class was generated from the following files: