Dandelion 1.1.1
A light-weight 3D builder for educational usage
|
半边网格中的顶点。 更多...
#include <halfedge.h>
Public 成员函数 | |
Vertex (std::size_t vertex_id) | |
size_t | degree () const |
Eigen::Vector3f | neighborhood_center () const |
\(\mathcal{N}_1\) 邻域 (1-ring neighborhood) 中所有顶点坐标的算数平均值。 | |
Eigen::Vector3f | normal () const |
Public 属性 | |
const std::size_t | id |
Halfedge * | halfedge |
Eigen::Vector3f | pos |
bool | is_new |
Eigen::Vector3f | new_pos |
Public 属性 继承自 LinkedListNode< Vertex > | |
Vertex * | next_node |
Vertex * | prev_node |
半边网格中的顶点。
半边网格中,每个顶点只维护自身的坐标和某一条从自身发出的半边。
Vertex::Vertex | ( | std::size_t | vertex_id | ) |
仅供 HalfedgeMesh::new_vertex
调用,其他任何情况下都不应该直接使用。
size_t Vertex::degree | ( | ) | const |
邻接的面片数量(不包括虚拟的边界面)。
Vector3f Vertex::normal | ( | ) | const |
以面积为权重对邻接面片法向量求平均给出的顶点法向估计值。
Halfedge* Vertex::halfedge |
从这一顶点发出的某条半边。
const std::size_t Vertex::id |
顶点的全局唯一 ID,不会与整个半边网格中任何其他元素重复。
bool Vertex::is_new |
新建顶点的标识,在一些全局操作中用到。
Eigen::Vector3f Vertex::new_pos |
在迭代式调整顶点坐标时保存迭代后的坐标(例如 Loop 细分时调整后的坐标)。
Eigen::Vector3f Vertex::pos |
顶点坐标。