示例#1
0
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;
}
示例#2
0
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)));


}