Template Class Property

Inheritance Relationships

Base Type

Class Documentation

template<typename T>
class Property : public zmesh::core::BaseProperty

Public Types

using ValueType = T
using VectorType = std::vector<T>
using reference = typename VectorType::reference
using const_reference = typename VectorType::const_reference

Public Functions

inline Property(std::string name, T default_value = T())

利用属性名和属性的默认值构造一个属性

参数
  • name -- 属性名

  • default_value -- 默认值

inline virtual void resize(size_t n) override

修改属性的size 当向Mesh中添加Vertex或者Face的时候需要使用

参数

n -- 新的property size大小

inline virtual void reserve(size_t n) override

为属性的容器预留空间 具体实现就是调用stl容器的reserve而已

参数

n -- 预留的空间大小

inline virtual void push_back() override

添加一个空元素

inline virtual void free_memory() override

释放内存

inline virtual BasePropertyPtr clone() override

deep copy

返回

BasePropertyPtr 克隆后的属性指针

inline VectorType &vector()

返回vector 这个函数会在mesh的assignment中使用

返回

VectorType&

inline const VectorType &vector() const
inline ValueType &default_value()
inline const ValueType &default_value() const
inline reference operator[](size_t idx)
inline const_reference operator[](size_t idx) const