ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
geometry.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
12 #include "t/geometry/Geometry.h"
13 
14 namespace cloudViewer {
15 namespace t {
16 namespace geometry {
17 
18 // Geometry trampoline class.
19 template <class GeometryBase = Geometry>
20 class PyGeometry : public GeometryBase {
21 public:
22  using GeometryBase::GeometryBase;
23 
24  GeometryBase& Clear() override {
25  PYBIND11_OVERLOAD_PURE(GeometryBase&, GeometryBase, );
26  }
27 
28  bool IsEmpty() const override {
29  PYBIND11_OVERLOAD_PURE(bool, GeometryBase, );
30  }
31 
32  core::Device GetDevice() const override {
33  PYBIND11_OVERLOAD_PURE(core::Device, GeometryBase, );
34  }
35 };
36 
37 void pybind_geometry(py::module& m);
38 void pybind_geometry_class(py::module& m);
39 void pybind_drawable_geometry(py::module& m);
40 void pybind_tensormap(py::module& m);
41 void pybind_pointcloud(py::module& m);
42 void pybind_lineset(py::module& m);
43 void pybind_trianglemesh(py::module& m);
44 void pybind_image(py::module& m);
45 void pybind_boundingvolume(py::module& m);
46 void pybind_voxel_block_grid(py::module& m);
47 void pybind_raycasting_scene(py::module& m);
48 
49 } // namespace geometry
50 } // namespace t
51 } // namespace cloudViewer
GeometryBase & Clear() override
Clear all elements in the geometry.
Definition: geometry.h:24
core::Device GetDevice() const override
Returns the device of the geometry.
Definition: geometry.h:32
bool IsEmpty() const override
Returns true iff the geometry is empty.
Definition: geometry.h:28
void pybind_trianglemesh(py::module &m)
void pybind_voxel_block_grid(py::module &m)
void pybind_lineset(py::module &m)
Definition: lineset.cpp:20
void pybind_geometry(py::module &m)
Definition: geometry.cpp:43
void pybind_boundingvolume(py::module &m)
void pybind_image(py::module &m)
Definition: image.cpp:56
void pybind_raycasting_scene(py::module &m)
void pybind_geometry_class(py::module &m)
Definition: geometry.cpp:24
void pybind_tensormap(py::module &m)
Definition: tensormap.cpp:119
void pybind_pointcloud(py::module &m)
Definition: pointcloud.cpp:49
void pybind_drawable_geometry(py::module &m)
Generic file read and write utility for python interface.