本文整理汇总了C++中data::Graph::getMetaNodes方法的典型用法代码示例。如果您正苦于以下问题:C++ Graph::getMetaNodes方法的具体用法?C++ Graph::getMetaNodes怎么用?C++ Graph::getMetaNodes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类data::Graph
的用法示例。
在下文中一共展示了Graph::getMetaNodes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute_server
void SetFixNodeStateExecutor::execute_server() {
int id;
bool state;
*stream >> id >> state;
Data::Graph * currentGraph = Manager::GraphManager::getInstance()->getActiveGraph();
QMap<qlonglong, osg::ref_ptr<Data::Node> >* nodes = currentGraph -> getNodes();
if (nodes->contains(id)) {
this->SetFixNodeState(*nodes->find(id), state);
} else {
QMap<qlonglong, osg::ref_ptr<Data::Node> >* mergeNodes = currentGraph->getMetaNodes();
if (mergeNodes->contains(id)) {
this->SetFixNodeState(*mergeNodes->find(id),state);
}
}
Server * server = Server::getInstance();
server->sendFixNodeState(id, state);
if (((QOSG::CoreWindow *)server->getCoreWindowReference())->playing()) {
server->getLayoutThread()->play();
}
}
示例2: execute_client
void SetFixNodeStateExecutor::execute_client() {
int id;
bool state;
*stream >> id >> state;
Data::Graph * currentGraph = Manager::GraphManager::getInstance()->getActiveGraph();
QMap<qlonglong, osg::ref_ptr<Data::Node> >* nodes = currentGraph -> getNodes();
Client * client = Client::getInstance();
if (nodes->contains(id)) {
Data::Node * node = *nodes->find(id);
this->SetFixNodeState(node, state);
if (client->selected_nodes.contains(node)) {
client->selected_nodes.removeOne(node);
}
} else {
QMap<qlonglong, osg::ref_ptr<Data::Node> >* mergeNodes = currentGraph->getMetaNodes();
if (mergeNodes->contains(id)) {
Data::Node * node = *mergeNodes->find(id);
this->SetFixNodeState(node,state);
if (client->selected_nodes.contains(node)) {
client->selected_nodes.removeOne(node);
}
}
}
}
示例3: execute_client
void MoveNodeExecutor::execute_client() {
int id;
float x,y,z;
*stream >> id >> x >> y >> z;
Data::Graph * currentGraph = Manager::GraphManager::getInstance()->getActiveGraph();
QMap<qlonglong, osg::ref_ptr<Data::Node> >* nodes = currentGraph -> getNodes();
//qDebug() << "Moving" << id << "to" << x << y << z;
if (nodes->contains(id)) {
this->moveNode(*nodes->find(id), osg::Vec3(x,y,z));
} else {
QMap<qlonglong, osg::ref_ptr<Data::Node> >* mergeNodes = currentGraph->getMetaNodes();
if (mergeNodes->contains(id)) {
this->moveNode(*mergeNodes->find(id), osg::Vec3(x,y,z));
} else {
qDebug() << "Nepoznam uzol" << id;
}
}
//TODO: refactor
// Stupid way to fix restriction shape refreshing
((QOSG::CoreWindow *)Client::getInstance()->getCoreWindowReference())->getLayoutThread()->pause();
((QOSG::CoreWindow *)Client::getInstance()->getCoreWindowReference())->getLayoutThread()->play();
}