![]() |
Dandelion 1.1.2
A light-weight 3D builder for educational usage
|
半边网格所需各种类型的公共头文件。 更多...
#include <cstddef>#include <set>#include <memory>#include <optional>#include <variant>#include <tuple>#include <unordered_map>#include <Eigen/Core>#include <spdlog/spdlog.h>#include "../platform/gl.hpp"#include "../platform/shader.hpp"#include "../utils/linked_list.hpp"#include "../scene/object.h"类 | |
| struct | Halfedge |
| 半边网格中最关键的几何元素。 更多... | |
| struct | Vertex |
| 半边网格中的顶点。 更多... | |
| struct | Edge |
| 半边网格中的边。 更多... | |
| struct | Face |
| 半边网格中的面片。 更多... | |
| class | HalfedgeMesh |
| 半边网格整体。 更多... | |
| struct | HalfedgeMesh::EdgeRecord |
| 在曲面简化算法中用到的工具类。 更多... | |
枚举 | |
| enum class | HalfedgeMeshFailure { NO_SELECTED_MESH , MULTIPLE_ORIENTED_EDGES , NON_MANIFOLD_VERTEX , INIFINITE_POSITION_VALUE , INVALID_HALFEDGE_PERMUTATION , INVALID_VERTEX_CONNECTIVITY , INVALID_EDGE_CONNECTIVITY , INVALID_FACE_CONNECTIVITY , ILL_FORMED_HALFEDGE_INVERSION , POOR_HALFEDGE_ACCESSIBILITY } |
| 半边网格的不合法情况。 更多... | |
半边网格所需各种类型的公共头文件。
Dandelion 的几何处理算法都是基于半边网格的,所有几何处理需要的类型都在这个头文件中声明, 但在不同的源文件中定义。Halfedge / Vertex / Edge / Face 各自有一个源文件, 而 HalfedgeMesh 则被分为两部分:创建、同步和检查等功能在 halfedge_mesh.cpp 中实现,各类几何操作在 meshedit.cpp 中实现。