40 #include "../common/metatreeitem.h" 46 #include <Qt3DExtras/QPhongMaterial> 74 this->setToolTip(
"Abstract 3D Tree Item");
77 QList<QStandardItem*> list;
87 list <<
new QStandardItem(
"The transformation options");
88 this->appendRow(list);
91 itemXTrans->setEditable(
true);
96 list <<
new QStandardItem(itemXTrans->toolTip());
97 m_pItemTransformationOptions->appendRow(list);
100 itemYTrans->setEditable(
true);
105 list <<
new QStandardItem(itemYTrans->toolTip());
106 m_pItemTransformationOptions->appendRow(list);
109 itemZTrans->setEditable(
true);
114 list <<
new QStandardItem(itemZTrans->toolTip());
115 m_pItemTransformationOptions->appendRow(list);
119 itemScale->setEditable(
true);
124 list <<
new QStandardItem(itemZTrans->toolTip());
125 data.setValue(fScale);
126 itemScale->
setData(data, MetaTreeItemRoles::Scale);
127 m_pItemTransformationOptions->appendRow(list);
137 list <<
new QStandardItem(
"The color options");
138 this->appendRow(list);
140 float fAlpha = 0.75f;
146 list <<
new QStandardItem(itemAlpha->toolTip());
147 m_pItemAppearanceOptions->appendRow(list);
148 data.setValue(fAlpha);
149 itemAlpha->
setData(data, MetaTreeItemRoles::AlphaValue);
155 list << pItemSurfCol;
156 list <<
new QStandardItem(pItemSurfCol->toolTip());
157 m_pItemAppearanceOptions->appendRow(list);
158 data.setValue(QColor(100,100,100));
159 pItemSurfCol->
setData(data, MetaTreeItemRoles::Color);
160 pItemSurfCol->setData(data, Qt::DecorationRole);
171 QStandardItem::setData(value, role);
174 case Qt::CheckStateRole:{
183 int Abstract3DTreeItem::type()
const 192 QList<QStandardItem*> itemList;
194 if(this->hasChildren()) {
195 for(
int row = 0; row<this->rowCount(); row++) {
196 for(
int col = 0; col<this->columnCount(); col++) {
197 if(this->child(row, col)->type() == type) {
198 itemList.append(this->child(row, col));
211 QList<QStandardItem*> itemList;
213 if(this->hasChildren()) {
214 for(
int row = 0; row<this->rowCount(); row++) {
215 for(
int col = 0; col<this->columnCount(); col++) {
216 if(this->child(row, col)->text() == text) {
217 itemList.append(this->child(row, col));
230 this->appendRow(newItem);
239 this->appendRow(&newItem);
248 Eigen::MatrixX4f matColor(numVert,4);
250 for(
int i = 0; i < numVert; ++i) {
251 matColor(i,0) = color.redF();
252 matColor(i,1) = color.greenF();
253 matColor(i,2) = color.blueF();
254 matColor(i,3) = color.alphaF();
265 data.setValue(fAlpha);
274 for(
int i = 0; i<this->rowCount(); i++) {
275 if(this->child(i)->isCheckable()) {
276 this->child(i)->setCheckState(checkState);
280 this->
setVisible(checkState == Qt::Unchecked ?
false :
true);
287 if(fTransX.canConvert<
float>()) {
289 position.setX(fTransX.toFloat());
298 if(fTransY.canConvert<
float>()) {
300 position.setY(fTransY.toFloat());
309 if(fTransZ.canConvert<
float>()) {
311 position.setZ(fTransZ.toFloat());
320 if(fScale.canConvert<
float>()) {
void setAlpha(float fAlpha)
Base class for renederable 3D QEntities.
virtual void onAlphaChanged(const QVariant &fAlpha)
virtual void onScaleChanged(const QVariant &fScale)
static Eigen::MatrixX4f createVertColor(int numVert, const QColor &color=QColor(0, 49, 69))
Abstract3DTreeItem(QEntity *p3DEntityParent=0, int iType=Data3DTreeModelItemTypes::UnknownItem, const QString &text="")
virtual void setVisible(bool state)
void dataChanged(const QVariant &data)
virtual void onTranslationZChanged(const QVariant &fTransZ)
Abstract3DTreeItem class declaration.
Provides the basic tree item.
virtual QVector3D position() const
virtual void setScale(float scale)
QList< QStandardItem * > findChildren(int type)
Abstract3DTreeItem & operator<<(Abstract3DTreeItem *newItem)
virtual void onCheckStateChanged(const Qt::CheckState &checkState)
void setData(const QVariant &value, int role=Qt::UserRole+1)
virtual void onTranslationYChanged(const QVariant &fTransY)
Provides a generic brain tree item.
virtual void onColorChanged(const QVariant &color)
QPointer< MetaTreeItem > m_pItemAppearanceOptions
QPointer< MetaTreeItem > m_pItemTransformationOptions
virtual void onTranslationXChanged(const QVariant &fTransX)
void setData(const QVariant &value, int role=Qt::UserRole+1)
virtual void setMaterialParameter(const QVariant &data, const QString &sParameterName)
void checkStateChanged(const Qt::CheckState &checkState)
virtual void setPosition(const QVector3D &position)