53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
![]() |
// ----------------------------------------------------------------------------
|
||
|
// - Open3D: www.open3d.org -
|
||
|
// ----------------------------------------------------------------------------
|
||
|
// Copyright (c) 2018-2023 www.open3d.org
|
||
|
// SPDX-License-Identifier: MIT
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "open3d/core/Tensor.h"
|
||
|
|
||
|
namespace open3d {
|
||
|
namespace t {
|
||
|
namespace geometry {
|
||
|
namespace kernel {
|
||
|
namespace trianglemesh {
|
||
|
|
||
|
void NormalizeNormalsCPU(core::Tensor& normals);
|
||
|
|
||
|
void ComputeTriangleNormalsCPU(const core::Tensor& vertices,
|
||
|
const core::Tensor& triangles,
|
||
|
core::Tensor& normals);
|
||
|
|
||
|
void ComputeVertexNormalsCPU(const core::Tensor& triangles,
|
||
|
const core::Tensor& triangle_normals,
|
||
|
core::Tensor& vertex_normals);
|
||
|
|
||
|
void ComputeTriangleAreasCPU(const core::Tensor& vertices,
|
||
|
const core::Tensor& triangles,
|
||
|
core::Tensor& triangle_areas);
|
||
|
|
||
|
#ifdef BUILD_CUDA_MODULE
|
||
|
void NormalizeNormalsCUDA(core::Tensor& normals);
|
||
|
|
||
|
void ComputeTriangleNormalsCUDA(const core::Tensor& vertices,
|
||
|
const core::Tensor& triangles,
|
||
|
core::Tensor& normals);
|
||
|
|
||
|
void ComputeVertexNormalsCUDA(const core::Tensor& triangles,
|
||
|
const core::Tensor& triangle_normals,
|
||
|
core::Tensor& vertex_normals);
|
||
|
|
||
|
void ComputeTriangleAreasCUDA(const core::Tensor& vertices,
|
||
|
const core::Tensor& triangles,
|
||
|
core::Tensor& triangle_areas);
|
||
|
#endif
|
||
|
|
||
|
} // namespace trianglemesh
|
||
|
} // namespace kernel
|
||
|
} // namespace geometry
|
||
|
} // namespace t
|
||
|
} // namespace open3d
|