Dandelion 1.1.1
A light-weight 3D builder for educational usage
载入中...
搜索中...
未找到
Edge结构体 参考

半边网格中的边。 更多...

#include <halfedge.h>

类 Edge 继承关系图:
LinkedListNode< Edge >

Public 成员函数

 Edge (std::size_t edge_id)
 
bool on_boundary () const
 
Eigen::Vector3f center () const
 
float length () const
 

Public 属性

const std::size_t id
 
Halfedgehalfedge
 
bool is_new
 
Eigen::Vector3f new_pos
 准备分裂这条边时分裂后新增顶点的坐标。
 
- Public 属性 继承自 LinkedListNode< Edge >
Edgenext_node
 
Edgeprev_node
 

详细描述

半边网格中的边。

半边网格中,每条边只维护属于自身的某一条半边。

构造及析构函数说明

◆ Edge()

Edge::Edge ( std::size_t edge_id)

仅供 HalfedgeMesh::new_edge 调用,其他任何情况下都不应该直接使用。

成员函数说明

◆ center()

Vector3f Edge::center ( ) const

边的中点坐标。

◆ length()

float Edge::length ( ) const

边的长度。

◆ on_boundary()

bool Edge::on_boundary ( ) const

这条边是否在 mesh 边界上。

类成员变量说明

◆ halfedge

Halfedge* Edge::halfedge

沿着这条边的某一条半边。

◆ id

const std::size_t Edge::id

边的全局唯一 ID,不会与整个半边网格中任何其他元素重复。

◆ is_new

bool Edge::is_new

新建边的标识,在一些全局操作中用到。

◆ new_pos

Eigen::Vector3f Edge::new_pos

准备分裂这条边时分裂后新增顶点的坐标。

HalfedgeMesh::split_edge 函数并不会使用这个坐标,而是直接用边中点作为新增顶点的位置。 这个属性仅供需要指定分裂后顶点位置的算法使用,例如 Loop 细分。


该结构体的文档由以下文件生成: