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;
  }
Exemplo n.º 2
0
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()));
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 5
0
void PmlReader::processTag(std::string &tagName, const std::string &parameter) {
	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;
	}
}
Exemplo n.º 6
0
void CGameWorld::process()
{
	TRY_EXCEPT_RECORD(processListener());
	TRY_EXCEPT_RECORD(processLink());
	TRY_EXCEPT_RECORD(processUser());
}