diff --git a/src/meshlab/layerDialog.cpp b/src/meshlab/layerDialog.cpp index 8206faa2a..1ce16c87a 100644 --- a/src/meshlab/layerDialog.cpp +++ b/src/meshlab/layerDialog.cpp @@ -370,7 +370,7 @@ void LayerDialog::adaptLayout(QTreeWidgetItem * item) } //Add default annotations for each mesh about faces and vertices number -void LayerDialog::addDefaultNotes(QTreeWidgetItem * parent, const MeshModel *meshModel) +void LayerDialog::addDefaultNotes(QTreeWidgetItem * parent, MeshModel *meshModel) { QTreeWidgetItem *fileItem = new QTreeWidgetItem(); fileItem->setText(2, QString("File")); @@ -390,6 +390,47 @@ void LayerDialog::addDefaultNotes(QTreeWidgetItem * parent, const MeshModel *mes vertItem->setText(3, QString::number(meshModel->cm.vn)); parent->addChild(vertItem); updateColumnNumber(vertItem); + + std::vector AttribNameVector; + vcg::tri::Allocator::GetAllPerVertexAttribute< float >(meshModel->cm,AttribNameVector); + for(int i = 0; i < (int) AttribNameVector.size(); i++) + { + QTreeWidgetItem *vertItem = new QTreeWidgetItem(); + vertItem->setText(2, QString("Vert Attr.")); + vertItem->setText(3, "float "+QString(AttribNameVector[i].c_str())); + parent->addChild(vertItem); + updateColumnNumber(vertItem); + } + AttribNameVector.clear(); + vcg::tri::Allocator::GetAllPerVertexAttribute< vcg::Point3f >(meshModel->cm,AttribNameVector); + for(int i = 0; i < (int) AttribNameVector.size(); i++) + { + QTreeWidgetItem *vertItem = new QTreeWidgetItem(); + vertItem->setText(2, QString("Vert Attr.")); + vertItem->setText(3, "Point3f "+QString(AttribNameVector[i].c_str())); + parent->addChild(vertItem); + updateColumnNumber(vertItem); + } + vcg::tri::Allocator::GetAllPerFaceAttribute< float >(meshModel->cm,AttribNameVector); + for(int i = 0; i < (int) AttribNameVector.size(); i++) + { + QTreeWidgetItem *vertItem = new QTreeWidgetItem(); + vertItem->setText(2, QString("Face Attr.")); + vertItem->setText(3, "float "+QString(AttribNameVector[i].c_str())); + parent->addChild(vertItem); + updateColumnNumber(vertItem); + } + AttribNameVector.clear(); + vcg::tri::Allocator::GetAllPerFaceAttribute< vcg::Point3f >(meshModel->cm,AttribNameVector); + for(int i = 0; i < (int) AttribNameVector.size(); i++) + { + QTreeWidgetItem *vertItem = new QTreeWidgetItem(); + vertItem->setText(2, QString("Face Attr.")); + vertItem->setText(3, "Point3f "+QString(AttribNameVector[i].c_str())); + parent->addChild(vertItem); + updateColumnNumber(vertItem); + } + } //Add a new item (not a MeshTreeWidgetItem but a tag item) to the treeWidget diff --git a/src/meshlab/layerDialog.h b/src/meshlab/layerDialog.h index bd1201205..8cce686dd 100644 --- a/src/meshlab/layerDialog.h +++ b/src/meshlab/layerDialog.h @@ -120,7 +120,7 @@ private: //It stores if the treeWidgetItems are expanded or not QMap< QPair , bool> expandedMap; - void addDefaultNotes(QTreeWidgetItem * parent, const MeshModel *meshModel); + void addDefaultNotes(QTreeWidgetItem * parent, MeshModel *meshModel); void addTreeWidgetItem(QTreeWidgetItem *parent, TagBase *tag, MeshDocument &md, MeshModel *mm); void updateColumnNumber(const QTreeWidgetItem * item);