Dandelion 1.1.1
A light-weight 3D builder for educational usage
|
在曲面简化算法中用到的工具类。 更多...
Public 成员函数 | |
EdgeRecord (std::unordered_map< Vertex *, Eigen::Matrix4f > &vertex_quadrics, Edge *e) | |
Public 属性 | |
Edge * | edge |
Eigen::Vector3f | optimal_pos |
float | cost |
在曲面简化算法中用到的工具类。
基于 QEM 的简化算法需要实时获取损失最小的边,这个结构体用于记录一条边的坍缩代价、 坍缩后顶点的最佳位置,并放入优先队列中进行排序。
HalfedgeMesh::EdgeRecord::EdgeRecord | ( | std::unordered_map< Vertex *, Eigen::Matrix4f > & | vertex_quadrics, |
Edge * | e ) |
根据两个端点的二次误差矩阵构造边的二次误差矩阵,并计算最佳坍缩位置。
float HalfedgeMesh::EdgeRecord::cost |
执行曲面简化算法时坍缩这条边的代价(带来的误差)。
Edge* HalfedgeMesh::EdgeRecord::edge |
这个记录对应的边。
Eigen::Vector3f HalfedgeMesh::EdgeRecord::optimal_pos |
执行曲面简化算法时的最佳坍缩位置。