int ConfigFile::processLink(boost::shared_ptr<const urdf::Link> link,Vehicle &vehicle,int nlink,int njoint,int nmat, std::vector<Material> &materials){ vehicle.links[nlink].name=link->name; vehicle.links[nlink].geom.reset( new Geometry); if(link->visual) nmat= processVisual(link->visual,vehicle.links[nlink],nmat, materials); else{ vehicle.links[nlink].geom->type=4; vehicle.links[nlink].material=-1; memset(vehicle.links[nlink].position,0,3*sizeof(double)); memset(vehicle.links[nlink].rpy,0,3*sizeof(double)); memset(vehicle.links[nlink].quat,0,4*sizeof(double)); vehicle.links[nlink].quat[3]=1; } if(link->collision){ vehicle.links[nlink].cs.reset( new Geometry); processGeometry(link->collision->geometry.get(),vehicle.links[nlink].cs.get()); } else vehicle.links[nlink].cs.reset(); int linkNumber=nlink; for(uint i=0;i<link->child_joints.size();i++){ processJoint(link->child_joints[i],vehicle.joints[linkNumber],nlink,linkNumber+1); linkNumber=processLink(link->child_links[i],vehicle,linkNumber+1,linkNumber+1,nmat,materials); } return linkNumber; }
void AdobeDRM::link(const QString& userID, const QString& password) { qDebug() << Q_FUNC_INFO; if (isLinked()) { emit linkOK(); return; } if (!m_proc) { emit linkKO(2); return; } m_DRM_ID = userID; m_DRM_PW = password; #ifdef Q_WS_QWS connect(m_client, SIGNAL(workflowDone(unsigned int)), this, SLOT(linkWorkflowDone(unsigned int)), Qt::UniqueConnection); connect(m_client, SIGNAL(workflowError(int, QString)), this, SLOT(linkWorkflowError(int, QString)), Qt::UniqueConnection); #endif QTimer::singleShot(110, this, SLOT(processLink())); }
void PropertyBrowser::processObject(IScaObject *object) { QtProperty *property; property = m_stringManager->addProperty(PROPERTY_TYPE); m_stringManager->setReadOnly(property, true); m_stringManager->setValue(property, object->getTypeName()); addProperty(property, PROPERTY_TYPE); if (object->getType() != IScaObject::LINK) { property = m_stringManager->addProperty(PROPERTY_FILEPATH); m_stringManager->setValue(property, object->getFile().absoluteFilePath()); addProperty(property, PROPERTY_FILEPATH); } property = m_stringManager->addProperty(PROPERTY_ANNOTATION); m_stringManager->setValue(property, object->getAnnotation()); addProperty(property, PROPERTY_ANNOTATION); switch (object->getType()) { case IScaObject::BINARYBLOCK: processBinaryBlock(static_cast<IScaObjectBinaryBlock *>(object)); break; case IScaObject::IDENTIFIER: processIdentifier(static_cast<IScaObjectIdentifier *>(object)); break; case IScaObject::TEXTBLOCK: processTextBlock(static_cast<IScaObjectTextBlock *>(object)); break; case IScaObject::SYMBOL: processSymbol(static_cast<IScaObjectSymbol *>(object)); break; case IScaObject::LINE: processLine(static_cast<IScaObjectLine *>(object)); break; case IScaObject::LINK: processLink(static_cast<Link *>(object)); break; default: qDebug() << "[PropertyManager]: unknown type while processing, " << object->getType(); break; } }
int ConfigFile::processURDFFile(string file, Vehicle &vehicle){ urdf::Model model; std::string file_fullpath=osgDB::findDataFile(file); if (file_fullpath==std::string("") || !model.initFile(file_fullpath)){ std::cerr << "Failed to parse urdf file " << file << std::endl; exit(0); } OSG_INFO << "Successfully parsed urdf file " << file << std::endl; vehicle.nlinks=model.links_.size(); vehicle.links.resize(vehicle.nlinks); vehicle.njoints=model.joints_.size(); vehicle.joints.resize(vehicle.njoints); vehicle.nmaterials = model.materials_.size(); vehicle.materials.resize(vehicle.nmaterials); boost::shared_ptr<const urdf::Link> root = model.getRoot(); processLink(root,vehicle,0,0,0,vehicle.materials); return 0; }
void PmlReader::processTag(std::string &tagName, const std::string ¶meter) { const char tagDeterminant = *tagName.data(); switch (tagDeterminant) { case 'p': newPage(); break; case 'x': //TODO add close tag processing newPage(); break; case 'B': if (!myState.BoldBlockOn) { processFontProperty(FONT_BOLD); } break; case 'i': processFontProperty(FONT_ITALIC); break; case 'u': processFontProperty(FONT_UNDERLINED); break; case 'v': myState.InvisibleText = !myState.InvisibleText;; break; case 'c': processAlignment(ALIGN_CENTER); break; case 'r': processAlignment(ALIGN_RIGHT); break; case 'n': processFontSize(NORMAL); break; case 'b': myState.BoldBlockOn = !myState.BoldBlockOn; processFontProperty(FONT_BOLD); break; case 's': processFontSize(SMALLER); break; case 'l': processFontSize(LARGER); break; case 'k': myState.SmallCaps = !myState.SmallCaps; processFontSize(SMALLER); break; case 'S': if (tagName == "Sb") { processFontProperty(FONT_SUBSCRIPT); } else if (tagName == "Sp") { processFontProperty(FONT_SUPERSCRIPT); } else if (tagName == "Sd") { //processSidebarLink(); } break; case 't': processIndent(); break; case 'T': processIndent(parameter); myState.IndentBlockOn = false; break; case 'w': //addHorizontalRule(parameter); break; case 'F': processLink(FOOTNOTE, parameter); break; case 'q': processLink(INTERNAL_HYPERLINK, parameter); break; case 'Q': addLinkLabel(parameter); break; case 'm': addImageReference(parameter); break; default: //std::cerr << "PmlReader: unsupported tag: name: " << tagName << " parameter: " << parameter << "\n"; break; } }
void CGameWorld::process() { TRY_EXCEPT_RECORD(processListener()); TRY_EXCEPT_RECORD(processLink()); TRY_EXCEPT_RECORD(processUser()); }