Class Mesh

Inheritance Relationships

Base Type

Class Documentation

class Mesh : public zmesh::core::MeshKernel

Mesh类提供了用户常用的操作

Public Functions

Mesh() = default
inline virtual ~Mesh()
HalfedgeHandle find_halfedge(VertexHandle start, VertexHandle end) const

找到从start开始, 到end结束的一条半边, 如果不存在就返回一个invalid的handle

High Level Topological Operations

EdgeHandle find_edge(VertexHandle v0, VertexHandle v1) const

找到连接v0, v1的边, 如果不存在就返回一个invalid的handle

void adjust_outgoing_halfedge(VertexHandle v)

调整顶点v的halfedge, 当v是边界的时候, halfedge也是边界

SmartVertexHandle add_vertex(const Point &p)

添加一个顶点, 同时赋予其坐标

SmartVertexHandle add_vertex(float x, float y, float z)

添加一个顶点, 同时赋予其坐标

SmartFaceHandle add_face(const std::vector<VertexHandle> &vertices)

通过参数传入的顶点, 添加一个面

SmartFaceHandle add_triangle(VertexHandle v0, VertexHandle v1, VertexHandle v2)

添加一个三角形

SmartFaceHandle add_triangle(const std::array<VertexHandle, 3> &vertices)

添加一个三角形

SmartFaceHandle add_quad(VertexHandle v0, VertexHandle v1, VertexHandle v2, VertexHandle v3)

添加一个四边形

SmartFaceHandle add_quad(const std::array<VertexHandle, 4> &vertices)

添加一个四边形

int valence(VertexHandle v) const

顶点v的邻接顶点个数

int valence(FaceHandle f) const

面f邻接的顶点个数

bool is_triangle_mesh() const

是不是三角形网格

bool is_quad_mesh() const

是不是四边形网格

inline bool is_empty() const

网格是否为空

inline VertexIterator vertices_begin() const

Iterators

inline VertexIterator vertices_end() const
inline VertexRange vertices() const

用来遍历所有点

inline EdgeIterator edges_begin() const
inline EdgeIterator edges_end() const
inline EdgeRange edges() const

用来遍历所有边

inline HalfedgeIterator halfedges_begin() const
inline HalfedgeIterator halfedges_end() const
inline HalfedgeRange halfedges() const

用来遍历所有半边

inline FaceIterator faces_begin() const
inline FaceIterator faces_end() const
inline FaceRange faces() const

用来遍历所有面

inline VertexAroundVertexCirculator vertices(VertexHandle vertex) const

Circulators

参数

vertex -- 中心

inline EdgeAroundVertexCirculator edges(VertexHandle vertex) const
参数

vertex -- 中心

inline HalfedgeAroundVertexCirculator halfedges(VertexHandle vertex) const
参数

vertex -- 中心

inline FaceAroundVertexCirculator faces(VertexHandle vertex) const
参数

vertex -- 中心

inline VertexAroundFaceCirculator vertices(FaceHandle face) const
参数

face -- 中心

inline EdgeAroundFaceCirculator edges(FaceHandle face) const
参数

face -- 中心

inline HalfedgeAroundFaceCirculator halfedges(FaceHandle face) const
参数

face -- 中心

inline FaceAroundFaceCirculator faces(FaceHandle face) const
参数

face -- 中心