Dandelion 1.1.1
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 中实现。