77            const std::type_info* 
type;
 
 
 
  110#define DECLARE_FIELD_WIDGET \ 
  111    static int reg_field_widget; \ 
  112    static QWidget* createWidget(dyno::FBase*); 
 
  114#define IMPL_FIELD_WIDGET(_data_type_, _type_) \ 
  115    int _type_::reg_field_widget = \ 
  116        dyno::PPropertyWidget::registerWidget(dyno::PPropertyWidget::FieldWidgetMeta {&typeid(_data_type_), &_type_::createWidget}); \ 
  117    QWidget* _type_::createWidget(dyno::FBase* f) { return new _type_(f); } 
 
This is an implementation of AdditiveCCD based on peridyno.