CARLA
 
载入中...
搜索中...
未找到
| 类型定义 | 函数
MeshReconstruction 命名空间参考

class  Cube
 
struct  IntersectInfo
 
struct  Mesh
 
struct  Rect3
 
struct  Vec3
 

类型定义

using Fun3s = std::function< double(Vec3 const &)>
 
using Fun3v = std::function< Vec3(Vec3 const &)>
 
using Triangle = std::array< int, 3 >
 

函数

Mesh MarchCube (Fun3s const &sdf, Rect3 const &domain)
 使用 Marching Cube 从给定的有向距离函数重建三角形网格更多...
 
Mesh MarchCube (Fun3s const &sdf, Rect3 const &domain, Vec3 const &cubeSize, double isoLevel=0, Fun3v sdfGrad=nullptr)
 使用 Marching Cube 从给定的有向距离函数重建三角形网格更多...
 
void Triangulate (IntersectInfo const &intersect, Fun3v const &grad, Mesh &mesh)
 给定一个网格立方体和一个等值面,计算出在立方体中表示等值面的三角形(最多5个)。 更多...
 

类型定义说明

◆ Fun3s

using MeshReconstruction::Fun3s = typedef std::function<double(Vec3 const &)>

在文件 DataStructs.h75 行定义.

◆ Fun3v

using MeshReconstruction::Fun3v = typedef std::function<Vec3(Vec3 const &)>

在文件 DataStructs.h78 行定义.

◆ Triangle

using MeshReconstruction::Triangle = typedef std::array<int, 3>

在文件 DataStructs.h60 行定义.

函数说明

◆ MarchCube() [1/2]

Mesh MeshReconstruction::MarchCube ( Fun3s const &  sdf,
Rect3 const &  domain 
)

使用 Marching Cube 从给定的有向距离函数重建三角形网格

参数
sdf有符号距离函数
重建域。
返回
重建的网格。

在文件 MeshReconstruction.h55 行定义.

引用了 MarchCube() , 以及 MeshReconstruction::Rect3::size.

被这些函数引用 MarchCube().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ MarchCube() [2/2]

Mesh MeshReconstruction::MarchCube ( Fun3s const &  sdf,
Rect3 const &  domain,
Vec3 const &  cubeSize,
double  isoLevel = 0,
Fun3v  sdfGrad = nullptr 
)

使用 Marching Cube 从给定的有向距离函数重建三角形网格

参数
sdf有符号距离函数
重建域。
cubeSize行进立方体的大小。立方体越小,生成的网格分辨率越高。
应对其进行三角剖分的SDF 的 isoLevel Level 集。更改此值将移动重建的表面。
SDF的 sdfGrad 梯度,可生成重建网格的顶点法线。如果未提供任何参数,则使用数值近似值。
返回
重建的网格。

在文件 MeshReconstruction.h63 行定义.

引用了 MeshReconstruction::Cube::Intersect(), MeshReconstruction::Rect3::min, min(), MeshReconstruction::Vec3::Norm(), MeshReconstruction::Rect3::size, Triangulate(), MeshReconstruction::Vec3::x, MeshReconstruction::Vec3::y , 以及 MeshReconstruction::Vec3::z.

+ 函数调用图:

◆ Triangulate()

void MeshReconstruction::Triangulate ( IntersectInfo const &  intersect,
Fun3v const &  grad,
Mesh mesh 
)

给定一个网格立方体和一个等值面,计算出在立方体中表示等值面的三角形(最多5个)。

在文件 Triangulation.h282 行定义.

引用了 MeshReconstruction::IntersectInfo::edgeVertIndices, MeshReconstruction::IntersectInfo::signConfig, MeshReconstruction::Mesh::triangles, MeshReconstruction::Mesh::vertexNormals , 以及 MeshReconstruction::Mesh::vertices.

被这些函数引用 MarchCube().

+ 这是这个函数的调用关系图: