open3d.geometry.Octree
- class open3d.geometry.Octree
Octree datastructure.
- class Type
Enum class for Geometry types.
- HalfEdgeTriangleMesh = <Type.HalfEdgeTriangleMesh: 7>
- Image = <Type.Image: 8>
- LineSet = <Type.LineSet: 4>
- PointCloud = <Type.PointCloud: 1>
- RGBDImage = <Type.RGBDImage: 9>
- TetraMesh = <Type.TetraMesh: 10>
- TriangleMesh = <Type.TriangleMesh: 6>
- Unspecified = <Type.Unspecified: 0>
- VoxelGrid = <Type.VoxelGrid: 2>
- property value
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: open3d.open3d.geometry.Octree) -> None
Default constructor
__init__(self: open3d.open3d.geometry.Octree, arg0: open3d.open3d.geometry.Octree) -> None
Copy constructor
__init__(self: open3d.open3d.geometry.Octree, max_depth: int) -> None
__init__(self: open3d.open3d.geometry.Octree, max_depth: int, origin: numpy.ndarray[numpy.float64[3, 1]], size: float) -> None
- clear(self)
Clear all elements in the geometry.
- Returns
open3d.geometry.Geometry
- convert_from_point_cloud(self, point_cloud, size_expand=0.01)
Convert octree from point cloud.
- Parameters
point_cloud (open3d.geometry.PointCloud) – Input point cloud.
size_expand (float, optional, default=0.01) – A small expansion size such that the octree is slightly bigger than the original point cloud bounds to accmondate all points.
- Returns
None
- create_from_voxel_grid(self)
- Returns
None
- dimension(self)
Returns whether the geometry is 2D or 3D.
- Returns
int
- get_axis_aligned_bounding_box(self)
Returns an axis-aligned bounding box of the geometry.
- Returns
open3d.geometry.AxisAlignedBoundingBox
- get_center(self)
Returns the center of the geometry coordinates.
- Returns
numpy.ndarray[numpy.float64[3, 1]]
- get_geometry_type(self)
Returns one of registered geometry types.
- Returns
open3d.geometry.Geometry.GeometryType
- get_max_bound(self)
Returns max bounds for geometry coordinates.
- Returns
numpy.ndarray[numpy.float64[3, 1]]
- get_min_bound(self)
Returns min bounds for geometry coordinates.
- Returns
numpy.ndarray[numpy.float64[3, 1]]
- get_oriented_bounding_box(self)
Returns an oriented bounding box of the geometry.
- Returns
open3d.geometry.OrientedBoundingBox
- static get_rotation_matrix_from_axis_angle(rotation: numpy.ndarray[numpy.float64[3, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- static get_rotation_matrix_from_quaternion(rotation: numpy.ndarray[numpy.float64[4, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- static get_rotation_matrix_from_xyz(rotation: numpy.ndarray[numpy.float64[3, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- static get_rotation_matrix_from_xzy(rotation: numpy.ndarray[numpy.float64[3, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- static get_rotation_matrix_from_yxz(rotation: numpy.ndarray[numpy.float64[3, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- static get_rotation_matrix_from_yzx(rotation: numpy.ndarray[numpy.float64[3, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- static get_rotation_matrix_from_zxy(rotation: numpy.ndarray[numpy.float64[3, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- static get_rotation_matrix_from_zyx(rotation: numpy.ndarray[numpy.float64[3, 1]]) numpy.ndarray[numpy.float64[3, 3]]
- insert_point(self, point, f_init, f_update)
Insert a point to the octree.
- Parameters
point (numpy.ndarray[numpy.float64[3, 1]]) – Coordinates of the point.
f_init (Callable[[], open3d.geometry.OctreeLeafNode]) –
f_update (Callable[[open3d.geometry.OctreeLeafNode], None]) –
- Returns
None
- is_empty(self)
Returns
True
iff the geometry is empty.- Returns
bool
- static is_point_in_bound(point, origin, size)
Return true if point within bound, that is, origin<= point < origin + size
- Parameters
point (numpy.ndarray[numpy.float64[3, 1]]) – Coordinates of the point.
origin (numpy.ndarray[numpy.float64[3, 1]]) – Origin coordinates.
size (float) – Size of the Octree.
- Returns
bool
- locate_leaf_node(self, point)
Returns leaf OctreeNode and OctreeNodeInfo where the querypoint should reside.
- Parameters
point (numpy.ndarray[numpy.float64[3, 1]]) – Coordinates of the point.
- Returns
Tuple[open3d.geometry.OctreeLeafNode, open3d.geometry.OctreeNodeInfo]
- rotate(self, R, center=True)
Apply rotation to the geometry coordinates and normals.
- Parameters
R (numpy.ndarray[numpy.float64[3, 3]]) – The rotation matrix
center (bool, optional, default=True) – If true, then the rotation is applied to the centered geometry
- Returns
open3d.geometry.Geometry3D
- scale(self, scale, center=True)
Apply scaling to the geometry coordinates.
- Parameters
scale (float) – The scale parameter that is multiplied to the points/vertices of the geometry
center (bool, optional, default=True) – If true, then the scale is applied to the centered geometry
- Returns
open3d.geometry.Geometry3D
- to_voxel_grid(self)
Convert to VoxelGrid.
- Returns
open3d.geometry.VoxelGrid
- transform(self, arg0)
Apply transformation (4x4 matrix) to the geometry coordinates.
- Parameters
arg0 (numpy.ndarray[numpy.float64[4, 4]]) –
- Returns
open3d.geometry.Geometry3D
- translate(self, translation, relative=True)
Apply translation to the geometry coordinates.
- Parameters
translation (numpy.ndarray[numpy.float64[3, 1]]) – A 3D vector to transform the geometry
relative (bool, optional, default=True) – If true, the translation vector is directly added to the geometry coordinates. Otherwise, the center is moved to the translation vector.
- Returns
open3d.geometry.Geometry3D
- HalfEdgeTriangleMesh = <Type.HalfEdgeTriangleMesh: 7>
- Image = <Type.Image: 8>
- LineSet = <Type.LineSet: 4>
- PointCloud = <Type.PointCloud: 1>
- RGBDImage = <Type.RGBDImage: 9>
- TetraMesh = <Type.TetraMesh: 10>
- TriangleMesh = <Type.TriangleMesh: 6>
- Unspecified = <Type.Unspecified: 0>
- VoxelGrid = <Type.VoxelGrid: 2>
- property max_depth
Maximum depth of the octree.
- Type
int
- property origin
Origin coordinate of the octree.
- Type
(3, 1) float numpy array
- property root_node
The root octree node.
- Type
- property size
Size of the octree, i.e. the size of the outer bound.
- Type
float