Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
TriangleMesh.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2024 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
10#include "open3d/core/Tensor.h"
11
12namespace open3d {
13namespace t {
14namespace geometry {
15namespace kernel {
16namespace trianglemesh {
17
19
20void ComputeTriangleNormalsCPU(const core::Tensor& vertices,
21 const core::Tensor& triangles,
22 core::Tensor& normals);
23
24void ComputeVertexNormalsCPU(const core::Tensor& triangles,
25 const core::Tensor& triangle_normals,
26 core::Tensor& vertex_normals);
27
28void ComputeTriangleAreasCPU(const core::Tensor& vertices,
29 const core::Tensor& triangles,
30 core::Tensor& triangle_areas);
31
32std::array<core::Tensor, 3> SamplePointsUniformlyCPU(
33 const core::Tensor& triangles,
34 const core::Tensor& vertices,
35 const core::Tensor& triangle_areas,
36 const core::Tensor& vertex_normals,
37 const core::Tensor& vertex_colors,
38 const core::Tensor& triangle_normals,
39 const core::Tensor& texture_uvs,
40 const core::Tensor& albedo,
41 size_t number_of_points);
42
43#ifdef BUILD_CUDA_MODULE
44void NormalizeNormalsCUDA(core::Tensor& normals);
45
46void ComputeTriangleNormalsCUDA(const core::Tensor& vertices,
47 const core::Tensor& triangles,
48 core::Tensor& normals);
49
50void ComputeVertexNormalsCUDA(const core::Tensor& triangles,
51 const core::Tensor& triangle_normals,
52 core::Tensor& vertex_normals);
53
54void ComputeTriangleAreasCUDA(const core::Tensor& vertices,
55 const core::Tensor& triangles,
56 core::Tensor& triangle_areas);
57#endif
58
59} // namespace trianglemesh
60} // namespace kernel
61} // namespace geometry
62} // namespace t
63} // namespace open3d
double t
Definition SurfaceReconstructionPoisson.cpp:172
Definition Tensor.h:32
std::array< core::Tensor, 3 > SamplePointsUniformlyCPU(const core::Tensor &triangles, const core::Tensor &vertices, const core::Tensor &triangle_areas, const core::Tensor &vertex_normals, const core::Tensor &vertex_colors, const core::Tensor &triangle_normals, const core::Tensor &texture_uvs, const core::Tensor &albedo, size_t number_of_points)
Definition TriangleMeshCPU.cpp:75
void NormalizeNormalsCPU(core::Tensor &normals)
Definition TriangleMeshImpl.h:33
void ComputeTriangleAreasCPU(const core::Tensor &vertices, const core::Tensor &triangles, core::Tensor &triangle_areas)
Definition TriangleMeshImpl.h:115
void ComputeTriangleNormalsCPU(const core::Tensor &vertices, const core::Tensor &triangles, core::Tensor &normals)
Definition TriangleMeshImpl.h:70
void ComputeVertexNormalsCPU(const core::Tensor &triangles, const core::Tensor &triangle_normals, core::Tensor &vertex_normals)
Definition TriangleMeshCPU.cpp:22
Definition PinholeCameraIntrinsic.cpp:16