Open3D (C++ API)  0.18.0+f02e7d2
VtkUtils.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - Open3D: www.open3d.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2023 www.open3d.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #include <vtkImageData.h>
9 #include <vtkPolyData.h>
10 #include <vtkSmartPointer.h>
11 
16 
17 namespace open3d {
18 namespace t {
19 namespace geometry {
20 namespace vtkutils {
21 
24 int DtypeToVtkType(const core::Dtype& dtype);
25 
31 vtkSmartPointer<vtkImageData> CreateVtkImageDataFromTensor(core::Tensor& tensor,
32  bool copy = false);
33 
52 vtkSmartPointer<vtkPolyData> CreateVtkPolyDataFromGeometry(
53  const Geometry& geometry,
54  const std::unordered_set<std::string>& point_attr_include,
55  const std::unordered_set<std::string>& face_attr_include,
56  const std::unordered_set<std::string>& point_attr_exclude = {},
57  const std::unordered_set<std::string>& face_attr_exclude = {},
58  bool copy = false);
59 
68 TriangleMesh CreateTriangleMeshFromVtkPolyData(vtkPolyData* polydata,
69  bool copy = false);
70 
79 LineSet CreateLineSetFromVtkPolyData(vtkPolyData* polydata, bool copy = false);
80 
90 TriangleMesh ExtrudeRotationTriangleMesh(const Geometry& geometry,
91  double angle,
92  const core::Tensor& axis,
93  int resolution = 16,
94  double translation = 0.0,
95  bool capping = true);
96 
106 LineSet ExtrudeRotationLineSet(const PointCloud& pointcloud,
107  double angle,
108  const core::Tensor& axis,
109  int resolution = 16,
110  double translation = 0.0,
111  bool capping = true);
112 
119 TriangleMesh ExtrudeLinearTriangleMesh(const Geometry& geometry,
120  const core::Tensor& vector,
121  double scale,
122  bool capping);
123 
130 LineSet ExtrudeLinearLineSet(const PointCloud& pointcloud,
131  const core::Tensor& vector,
132  double scale,
133  bool capping);
134 
151 TriangleMesh ComputeNormals(const TriangleMesh& mesh,
152  bool vertex_normals,
153  bool face_normals,
154  bool consistency,
155  bool auto_orient_normals,
156  bool splitting,
157  double feature_angle_deg = 30);
158 
159 } // namespace vtkutils
160 } // namespace geometry
161 } // namespace t
162 } // namespace open3d
bool copy
Definition: VtkUtils.cpp:74
OPEN3D_LOCAL LineSet CreateLineSetFromVtkPolyData(vtkPolyData *polydata, bool copy)
Definition: VtkUtils.cpp:473
int DtypeToVtkType(const core::Dtype &dtype)
Definition: VtkUtils.cpp:30
TriangleMesh CreateTriangleMeshFromVtkPolyData(vtkPolyData *polydata, bool copy)
Definition: VtkUtils.cpp:431
OPEN3D_LOCAL TriangleMesh ExtrudeLinearTriangleMesh(const Geometry &geometry, const core::Tensor &vector, double scale, bool capping)
Definition: VtkUtils.cpp:578
OPEN3D_LOCAL LineSet ExtrudeRotationLineSet(const PointCloud &pointcloud, const double angle, const core::Tensor &axis, int resolution, double translation, bool capping)
Definition: VtkUtils.cpp:539
OPEN3D_LOCAL vtkSmartPointer< vtkImageData > CreateVtkImageDataFromTensor(core::Tensor &tensor, bool copy)
Definition: VtkUtils.cpp:186
OPEN3D_LOCAL LineSet ExtrudeLinearLineSet(const PointCloud &pointcloud, const core::Tensor &vector, double scale, bool capping)
Definition: VtkUtils.cpp:586
OPEN3D_LOCAL TriangleMesh ExtrudeRotationTriangleMesh(const Geometry &geometry, const double angle, const core::Tensor &axis, int resolution, double translation, bool capping)
Definition: VtkUtils.cpp:528
vtkSmartPointer< vtkPolyData > CreateVtkPolyDataFromGeometry(const Geometry &geometry, const std::unordered_set< std::string > &point_attr_include, const std::unordered_set< std::string > &face_attr_include, const std::unordered_set< std::string > &point_attr_exclude, const std::unordered_set< std::string > &face_attr_exclude, bool copy)
Definition: VtkUtils.cpp:369
OPEN3D_LOCAL TriangleMesh ComputeNormals(const TriangleMesh &mesh, bool vertex_normals, bool face_normals, bool consistency, bool auto_orient_normals, bool splitting, double feature_angle_deg)
Definition: VtkUtils.cpp:594
Definition: PinholeCameraIntrinsic.cpp:16