Class PropertyKernel

Inheritance Relationships

Derived Type

Class Documentation

class PropertyKernel

实现了属性管理

Subclassed by zmesh::core::MeshKernel

Public Functions

PropertyKernel() = default
inline ~PropertyKernel()
inline bool exist_vertex_property(const std::string &name) const

根据属性名字判断顶点属性是否存在

template<typename T>
inline VertexPropertyHandle<T> add_vertex_property(const std::string &name, const T defalut_value = T())

添加顶点属性, 其名字和默认值由参数给定

template<typename T>
inline VertexPropertyHandle<T> get_vertex_property(const std::string &name) const

根据参数给定的名字获得顶点属性的Handle

template<typename T>
inline VertexPropertyHandle<T> get_or_add_vertex_property(const std::string &name, const T default_value = T())

根据给定的名字获取顶点属性, 如果不存在, 就添加一个新的顶点属性, 它的名字和默认值由参数给定

template<typename T>
inline void remove_vertex_property(VertexPropertyHandle<T> &handle)

根据顶点属性的Handle删除顶点属性

inline bool exist_edge_property(const std::string &name) const

根据属性名字判断边属性是否存在

template<typename T>
inline EdgePropertyHandle<T> add_edge_property(const std::string &name, const T default_value = T())

添加边属性, 其名字和默认值由参数给定

template<typename T>
inline EdgePropertyHandle<T> get_edge_property(const std::string &name) const

根据参数给定的名字获得边属性的Handle

template<typename T>
inline EdgePropertyHandle<T> get_or_add_edge_property(const std::string &name, const T default_value = T())

根据给定的名字获取边属性, 如果不存在, 就添加一个新的边属性, 它的名字和默认值由参数给定

inline bool exist_halfedge_property(const std::string &name) const

根据属性名字判断半边属性是否存在

template<typename T>
inline HalfedgePropertyHandle<T> add_halfedge_property(const std::string &name, const T default_value = T())

添加半边属性, 其名字和默认值由参数给定

template<typename T>
inline HalfedgePropertyHandle<T> get_halfedge_property(const std::string &name) const

根据参数给定的名字获得半边属性的Handle

template<typename T>
inline HalfedgePropertyHandle<T> get_or_add_halfedge_property(const std::string &name, const T default_value = T())

根据给定的名字获取半边属性, 如果不存在, 就添加一个新的半边属性, 它的名字和默认值由参数给定

inline bool exist_face_property(const std::string &name) const

根据属性名字判断面属性是否存在

template<typename T>
inline FacePropertyHandle<T> add_face_property(const std::string &name, const T default_value = T())

添加面属性, 其名字和默认值由参数给定

template<typename T>
inline FacePropertyHandle<T> get_face_property(const std::string &name) const

根据参数给定的名字获得面属性的Handle

template<typename T>
inline FacePropertyHandle<T> get_or_add_face_property(const std::string &name, const T default_value = T())

根据给定的名字获取面属性, 如果不存在, 就添加一个新的面属性, 它的名字和默认值由参数给定

Protected Attributes

PropertyContainer vprops_
PropertyContainer eprops_
PropertyContainer hprops_
PropertyContainer fprops_