SceneObject *Scene::addDynamicOpaqueObject(Model *model, float scale, const Float3 &pos, const Quaternion &rot) { Assert_(model != nullptr); Assert_(_numObjectBases < MAX_DYNAMIC_OBJECTS); Assert_(_numTotalModelsShared < MAX_MODELS); Assert_(_numObjectBases < MAX_OBJECT_MATRICES); Assert_(_numPrevWVPs < MAX_OBJECT_MATRICES); uint64 modelIndex = getModelIndex(model); Assert_(modelIndex != -1); _objectBases[_numObjectBases] = createBase(scale, pos, rot); _prevWVPs[_numPrevWVPs] = _objectBases[_numObjectBases]; _sceneStaticOpaqueObjectBounds[_numStaticOpaqueObjects] = SceneObjectBound(); SceneObject &obj = _dynamicOpaqueObjects[_numDynamicOpaqueObjects]; obj.base = &_objectBases[_numObjectBases]; obj.model = model; obj.bound = &_sceneDynamicOpaqueObjectBounds[_numDynamicOpaqueObjects]; obj.prevWVP = &_prevWVPs[_numPrevWVPs]; obj.id = _highestSceneObjId++; genSceneObjectBounds(DYNAMIC_OBJ | OPAQUE_OBJ, _numDynamicOpaqueObjects, modelIndex); _numObjectBases++; _numPrevWVPs++; _numDynamicOpaqueObjects++; return &obj; }
SceneObject *Scene::addStaticOpaquePlaneObject(float scale, const Float3 &pos, const Quaternion &rot) { Assert_(_numObjectBases < MAX_STATIC_OBJECTS); Assert_(_numTotalModelsShared < MAX_MODELS); Assert_(_numObjectBases < MAX_OBJECT_MATRICES); Assert_(_numPrevWVPs < MAX_OBJECT_MATRICES); if (!_planeModel) { addPlaneModel(); _modelIndices.push_back(_numTotalModelsShared - 1); } uint64 modelIndex = getModelIndex(_planeModel); Assert_(modelIndex != -1); _objectBases[_numObjectBases] = createBase(scale, pos, rot); _prevWVPs[_numPrevWVPs] = _objectBases[_numObjectBases]; _sceneStaticOpaqueObjectBounds[_numStaticOpaqueObjects] = SceneObjectBound(); SceneObject &obj = _staticOpaqueObjects[_numStaticOpaqueObjects]; obj.base = &_objectBases[_numObjectBases]; obj.model = _planeModel; obj.bound = &_sceneStaticOpaqueObjectBounds[_numStaticOpaqueObjects]; obj.prevWVP = &_prevWVPs[_numPrevWVPs]; obj.id = _highestSceneObjId++; genSceneObjectBounds(STATIC_OBJ | OPAQUE_OBJ, _numStaticOpaqueObjects, modelIndex); _numObjectBases++; _numPrevWVPs++; _numStaticOpaqueObjects++; return &obj; }
Selectfood::Selectfood(QWidget *parent, QString id,QString num) : QDialog(parent),user_id(id),table_num(num), ui(new Ui::Selectfood) { ui->setupUi(this); ui->label_4->setText(user_id); ui->label_2->setText(table_num); aa=new QTableManagement(); #ifdef DEBUG QSqlQuery query,query1,query2,query3; query.exec("select * from dishes where dish_category='h'"); query1.exec("select * from dishes where dish_category='c'"); query2.exec("select * from dishes where dish_category='s'"); query3.exec("select * from dishes where dish_category='d'"); while(query.next()) { a=query.value(0).toString(); b=query.value(1).toString(); c=query.value(2).toString(); d=query.value(3).toString(); e=query.value(4).toString(); //qDebug()<<a<<b<<c<<d; FoodDetail food1(a,b,c,d,e); hotfoodList.insert(0,food1); } while(query1.next()) { a=query1.value(0).toString(); b=query1.value(1).toString(); c=query1.value(2).toString(); d=query1.value(3).toString(); e=query1.value(4).toString(); //qDebug()<<a<<b<<c<<d; FoodDetail food2(a,b,c,d,e); coldfoodList.insert(0,food2); } while(query2.next()) { a=query2.value(0).toString(); b=query2.value(1).toString(); c=query2.value(2).toString(); d=query2.value(3).toString(); e=query2.value(4).toString(); //qDebug()<<a<<b<<c<<d; FoodDetail food3(a,b,c,d,e); staplefoodList.insert(0,food3); } while(query3.next()) { a=query3.value(0).toString(); b=query3.value(1).toString(); c=query3.value(2).toString(); d=query3.value(3).toString(); e=query3.value(4).toString(); //qDebug()<<a<<b<<c<<d; FoodDetail food4(a,b,c,d,e); drinkList.insert(0,food4); } #endif //菜单信息 // QGridLayout *layout = new QGridLayout; QVBoxLayout * layout = new QVBoxLayout; // layout->setContentsMargins(0, 24, 0, 0); tabWidget = new QTabWidget; QScrollArea *scrollArea1 = new QScrollArea; scrollArea1->setWidget(new Widget_Hot(this,hotfoodList)); QScrollArea *scrollArea2 = new QScrollArea; scrollArea2->setWidget(new Widget_Hot(this,coldfoodList)); QScrollArea *scrollArea3 = new QScrollArea; scrollArea3->setWidget(new Widget_Hot(this,staplefoodList)); QScrollArea *scrollArea4 = new QScrollArea; scrollArea4->setWidget(new Widget_Hot(this,drinkList)); tabWidget->addTab(scrollArea1, tr("热菜")); tabWidget->addTab(scrollArea2, tr("凉菜")); tabWidget->addTab(scrollArea3, tr("主食")); tabWidget->addTab(scrollArea4, tr("酒水")); layout->addWidget(tabWidget); ui->groupBox_foodMenu->setLayout(layout); //已点菜信息 sourceView = new QTreeView; sourceView->setRootIsDecorated(false); sourceView->setAlternatingRowColors(true); QHBoxLayout *sourceLayout = new QHBoxLayout; sourceLayout->addWidget(sourceView); ui->groupBox_foodList->setLayout(sourceLayout); connect(sourceView,SIGNAL(clicked(QModelIndex)),this,SLOT(getModelIndex(QModelIndex))); }