Example #1
0
void URI::normalize()
{
	removeDotSegments(!isRelative());
}
Example #2
0
bool addrDesc::isShiftNeededAfterMovingMe(OopNCode* m) {
  return isRelative();
}
Example #3
0
bool QFileInfo::convertToAbs()
{
    if ( isRelative() )
	fn = absFilePath();
    return QDir::isRelativePath( fn );
}
Example #4
0
bool EFX::saveXML(QXmlStreamWriter *doc)
{
    Q_ASSERT(doc != NULL);

    /* Function tag */
    doc->writeStartElement(KXMLQLCFunction);

    /* Common attributes */
    saveXMLCommon(doc);

    /* Fixtures */
    QListIterator <EFXFixture*> it(m_fixtures);
    while (it.hasNext() == true)
        it.next()->saveXML(doc);

    /* Propagation mode */
    doc->writeTextElement(KXMLQLCEFXPropagationMode, propagationModeToString(m_propagationMode));

    /* Speeds */
    saveXMLSpeed(doc);
    /* Direction */
    saveXMLDirection(doc);
    /* Run order */
    saveXMLRunOrder(doc);

    /* Algorithm */
    doc->writeTextElement(KXMLQLCEFXAlgorithm, algorithmToString(algorithm()));
    /* Width */
    doc->writeTextElement(KXMLQLCEFXWidth, QString::number(width()));
    /* Height */
    doc->writeTextElement(KXMLQLCEFXHeight, QString::number(height()));
    /* Rotation */
    doc->writeTextElement(KXMLQLCEFXRotation, QString::number(rotation()));
    /* StartOffset */
    doc->writeTextElement(KXMLQLCEFXStartOffset, QString::number(startOffset()));
    /* IsRelative */
    doc->writeTextElement(KXMLQLCEFXIsRelative, QString::number(isRelative() ? 1 : 0));

    /********************************************
     * X-Axis
     ********************************************/
    doc->writeStartElement(KXMLQLCEFXAxis);
    doc->writeAttribute(KXMLQLCFunctionName, KXMLQLCEFXX);

    /* Offset */
    doc->writeTextElement(KXMLQLCEFXOffset, QString::number(xOffset()));
    /* Frequency */
    doc->writeTextElement(KXMLQLCEFXFrequency, QString::number(xFrequency()));
    /* Phase */
    doc->writeTextElement(KXMLQLCEFXPhase, QString::number(xPhase()));

    /* End the (X) <Axis> tag */
    doc->writeEndElement();

    /********************************************
     * Y-Axis
     ********************************************/
    doc->writeStartElement(KXMLQLCEFXAxis);
    doc->writeAttribute(KXMLQLCFunctionName, KXMLQLCEFXY);

    /* Offset */
    doc->writeTextElement(KXMLQLCEFXOffset, QString::number(yOffset()));
    /* Frequency */
    doc->writeTextElement(KXMLQLCEFXFrequency, QString::number(yFrequency()));
    /* Phase */
    doc->writeTextElement(KXMLQLCEFXPhase, QString::number(yPhase()));

    /* End the (Y) <Axis> tag */
    doc->writeEndElement();

    /* End the <Function> tag */
    doc->writeEndElement();

    return true;
}
Example #5
0
bool EFX::saveXML(QDomDocument* doc, QDomElement* wksp_root)
{
    QDomElement root;
    QDomElement tag;
    QDomElement subtag;
    QDomText text;
    QString str;

    Q_ASSERT(doc != NULL);
    Q_ASSERT(wksp_root != NULL);

    /* Function tag */
    root = doc->createElement(KXMLQLCFunction);
    wksp_root->appendChild(root);

    /* Common attributes */
    saveXMLCommon(&root);

    /* Fixtures */
    QListIterator <EFXFixture*> it(m_fixtures);
    while (it.hasNext() == true)
        it.next()->saveXML(doc, &root);

    /* Propagation mode */
    tag = doc->createElement(KXMLQLCEFXPropagationMode);
    root.appendChild(tag);
    text = doc->createTextNode(propagationModeToString(m_propagationMode));
    tag.appendChild(text);

    /* Speeds */
    saveXMLSpeed(doc, &root);

    /* Direction */
    saveXMLDirection(doc, &root);

    /* Run order */
    saveXMLRunOrder(doc, &root);

    /* Algorithm */
    tag = doc->createElement(KXMLQLCEFXAlgorithm);
    root.appendChild(tag);
    text = doc->createTextNode(algorithmToString(algorithm()));
    tag.appendChild(text);

    /* Width */
    tag = doc->createElement(KXMLQLCEFXWidth);
    root.appendChild(tag);
    str.setNum(width());
    text = doc->createTextNode(str);
    tag.appendChild(text);

    /* Height */
    tag = doc->createElement(KXMLQLCEFXHeight);
    root.appendChild(tag);
    str.setNum(height());
    text = doc->createTextNode(str);
    tag.appendChild(text);

    /* Rotation */
    tag = doc->createElement(KXMLQLCEFXRotation);
    root.appendChild(tag);
    str.setNum(rotation());
    text = doc->createTextNode(str);
    tag.appendChild(text);

    /* StartOffset */
    tag = doc->createElement(KXMLQLCEFXStartOffset);
    root.appendChild(tag);
    str.setNum(startOffset());
    text = doc->createTextNode(str);
    tag.appendChild(text);

    /* IsRelative */
    tag = doc->createElement(KXMLQLCEFXIsRelative);
    root.appendChild(tag);
    str.setNum(isRelative() ? 1 : 0);
    text = doc->createTextNode(str);
    tag.appendChild(text);

    /********************************************
     * X-Axis
     ********************************************/
    tag = doc->createElement(KXMLQLCEFXAxis);
    root.appendChild(tag);
    tag.setAttribute(KXMLQLCFunctionName, KXMLQLCEFXX);

    /* Offset */
    subtag = doc->createElement(KXMLQLCEFXOffset);
    tag.appendChild(subtag);
    str.setNum(xOffset());
    text = doc->createTextNode(str);
    subtag.appendChild(text);

    /* Frequency */
    subtag = doc->createElement(KXMLQLCEFXFrequency);
    tag.appendChild(subtag);
    str.setNum(xFrequency());
    text = doc->createTextNode(str);
    subtag.appendChild(text);

    /* Phase */
    subtag = doc->createElement(KXMLQLCEFXPhase);
    tag.appendChild(subtag);
    str.setNum(xPhase());
    text = doc->createTextNode(str);
    subtag.appendChild(text);

    /********************************************
     * Y-Axis
     ********************************************/
    tag = doc->createElement(KXMLQLCEFXAxis);
    root.appendChild(tag);
    tag.setAttribute(KXMLQLCFunctionName, KXMLQLCEFXY);

    /* Offset */
    subtag = doc->createElement(KXMLQLCEFXOffset);
    tag.appendChild(subtag);
    str.setNum(yOffset());
    text = doc->createTextNode(str);
    subtag.appendChild(text);

    /* Frequency */
    subtag = doc->createElement(KXMLQLCEFXFrequency);
    tag.appendChild(subtag);
    str.setNum(yFrequency());
    text = doc->createTextNode(str);
    subtag.appendChild(text);

    /* Phase */
    subtag = doc->createElement(KXMLQLCEFXPhase);
    tag.appendChild(subtag);
    str.setNum(yPhase());
    text = doc->createTextNode(str);
    subtag.appendChild(text);

    return true;
}
Example #6
0
int TclExpCPCommand(ClientData clientData, Tcl_Interp *interp,
    int argc, TCL_Char **argv, Domain *theDomain)
{
    if (theExperimentalCPs == 0)
        theExperimentalCPs = new ArrayOfTaggedObjects(32);
    
    // make sure there is a minimum number of arguments
    if (argc < 4)  {
        opserr << "WARNING invalid number of arguments\n";
        printCommand(argc,argv);
        opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
        return TCL_ERROR;
    }
    
    int tag, i, argi = 1;
    int nodeTag = 0, ndf = 0, ndm = 0;
    Node *theNode = 0;
    int numSignals = 0, numLim = 0, numRefType = 0;
    double f, lim;
    ExperimentalCP *theCP = 0;
    
    if (Tcl_GetInt(interp, argv[argi], &tag) != TCL_OK)  {
        opserr << "WARNING invalid expControlPoint tag\n";
        return TCL_ERROR;
    }
    argi++;
    if (strcmp(argv[argi],"-node") == 0)  {
        argi++;
        if (Tcl_GetInt(interp, argv[argi], &nodeTag) != TCL_OK)  {
            opserr << "WARNING invalid nodeTag for control point: " << tag << endln;
            printCommand(argc,argv);
            opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
            return TCL_ERROR;
        }
        theNode = theDomain->getNode(nodeTag);
        ndf = theNode->getNumberDOF();
        ndm = OPS_GetNDM();
        argi++;
    }
    // count number of signals
    i = argi;
    while (i < argc)  {
        if (strcmp(argv[i],"-fact") == 0 || strcmp(argv[i],"-factor") == 0)
            i += 2;
        else if (strcmp(argv[i],"-isRel") == 0 || strcmp(argv[i],"-isRelative") == 0)
            i++;
        else if (strcmp(argv[i],"-lim") == 0 || strcmp(argv[i],"-limit") == 0)  {
            i += 3;
            numLim++;
        }
        else  {
            i += 2;
            numSignals++;
        }
    }
    if (numSignals == 0)  {
        opserr << "WARNING invalid number of arguments for control point: " << tag << endln;
        printCommand(argc,argv);
        opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
        return TCL_ERROR;
    }
    if (numLim > 0 && numLim != numSignals)  {
        opserr << "WARNING invalid number of limits for control point: " << tag << endln;
        printCommand(argc,argv);
        opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
        return TCL_ERROR;
    }
    ID dof(numSignals);
    ID rspType(numSignals);
    Vector factor(numSignals);
    Vector lowerLim(numSignals);
    Vector upperLim(numSignals);
    ID isRelative(numSignals);
    for (i=0; i<numSignals; i++)  {
        if (ndf == 0)  {
            int dofID = 0;
            if (sscanf(argv[argi],"%d",&dofID) != 1)  {
                if (sscanf(argv[argi],"%*[dfouDFOU]%d",&dofID) != 1)  {
                    opserr << "WARNING invalid dof for control point: " << tag << endln;
                    printCommand(argc,argv);
                    opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                    return TCL_ERROR;
                }
            }
            dof(i) = dofID - 1;
        }
        else if (ndm == 1 && ndf == 1)  {
            if (strcmp(argv[argi],"1") == 0 || 
                strcmp(argv[argi],"dof1") == 0 || strcmp(argv[argi],"DOF1") == 0 ||
                strcmp(argv[argi],"u1") == 0 || strcmp(argv[argi],"U1") == 0 ||
                strcmp(argv[argi],"ux") == 0 || strcmp(argv[argi],"UX") == 0)
                dof(i) = 0;
            else  {
                opserr << "WARNING invalid dof for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                return TCL_ERROR;
            }
        }
        else if (ndm == 2 && ndf == 2)  {
            if (strcmp(argv[argi],"1") == 0 ||
                strcmp(argv[argi],"dof1") == 0 || strcmp(argv[argi],"DOF1") == 0 ||
                strcmp(argv[argi],"u1") == 0 || strcmp(argv[argi],"U1") == 0 ||
                strcmp(argv[argi],"ux") == 0 || strcmp(argv[argi],"UX") == 0)
                dof(i) = 0;
            else if (strcmp(argv[argi],"2") == 0 ||
                strcmp(argv[argi],"dof2") == 0 || strcmp(argv[argi],"DOF2") == 0 ||
                strcmp(argv[argi],"u2") == 0 || strcmp(argv[argi],"U2") == 0 ||
                strcmp(argv[argi],"uy") == 0 || strcmp(argv[argi],"UY") == 0)
                dof(i) = 1;
            else  {
                opserr << "WARNING invalid dof for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                return TCL_ERROR;
            }
        }
        else if (ndm == 2 && ndf == 3)  {
            if (strcmp(argv[argi],"1") == 0 ||
                strcmp(argv[argi],"dof1") == 0 || strcmp(argv[argi],"DOF1") == 0 ||
                strcmp(argv[argi],"u1") == 0 || strcmp(argv[argi],"U1") == 0 ||
                strcmp(argv[argi],"ux") == 0 || strcmp(argv[argi],"UX") == 0)
                dof(i) = 0;
            else if (strcmp(argv[argi],"2") == 0 ||
                strcmp(argv[argi],"dof2") == 0 || strcmp(argv[argi],"DOF2") == 0 ||
                strcmp(argv[argi],"u2") == 0 || strcmp(argv[argi],"U2") == 0 ||
                strcmp(argv[argi],"uy") == 0 || strcmp(argv[argi],"UY") == 0)
                dof(i) = 1;
            else if (strcmp(argv[argi],"3") == 0 ||
                strcmp(argv[argi],"dof3") == 0 || strcmp(argv[argi],"DOF3") == 0 ||
                strcmp(argv[argi],"r3") == 0 || strcmp(argv[argi],"R3") == 0 ||
                strcmp(argv[argi],"rz") == 0 || strcmp(argv[argi],"RZ") == 0)
                dof(i) = 2;
            else  {
                opserr << "WARNING invalid dof for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                return TCL_ERROR;
            }
        }
        else if (ndm == 3 && ndf == 3)  {
            if (strcmp(argv[argi],"1") == 0 ||
                strcmp(argv[argi],"dof1") == 0 || strcmp(argv[argi],"DOF1") == 0 ||
                strcmp(argv[argi],"u1") == 0 || strcmp(argv[argi],"U1") == 0 ||
                strcmp(argv[argi],"ux") == 0 || strcmp(argv[argi],"UX") == 0)
                dof(i) = 0;
            else if (strcmp(argv[argi],"2") == 0 ||
                strcmp(argv[argi],"dof2") == 0 || strcmp(argv[argi],"DOF2") == 0 ||
                strcmp(argv[argi],"u2") == 0 || strcmp(argv[argi],"U2") == 0 ||
                strcmp(argv[argi],"uy") == 0 || strcmp(argv[argi],"UY") == 0)
                dof(i) = 1;
            else if (strcmp(argv[argi],"3") == 0 ||
                strcmp(argv[argi],"dof3") == 0 || strcmp(argv[argi],"DOF3") == 0 ||
                strcmp(argv[argi],"u3") == 0 || strcmp(argv[argi],"U3") == 0 ||
                strcmp(argv[argi],"uz") == 0 || strcmp(argv[argi],"UZ") == 0)
                dof(i) = 2;
            else  {
                opserr << "WARNING invalid dof for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                return TCL_ERROR;
            }
        }
        else if (ndm == 3 && ndf == 6)  {
            if (strcmp(argv[argi],"1") == 0 ||
                strcmp(argv[argi],"dof1") == 0 || strcmp(argv[argi],"DOF1") == 0 ||
                strcmp(argv[argi],"u1") == 0 || strcmp(argv[argi],"U1") == 0 ||
                strcmp(argv[argi],"ux") == 0 || strcmp(argv[argi],"UX") == 0)
                dof(i) = 0;
            else if (strcmp(argv[argi],"2") == 0 ||
                strcmp(argv[argi],"dof2") == 0 || strcmp(argv[argi],"DOF2") == 0 ||
                strcmp(argv[argi],"u2") == 0 || strcmp(argv[argi],"U2") == 0 ||
                strcmp(argv[argi],"uy") == 0 || strcmp(argv[argi],"UY") == 0)
                dof(i) = 1;
            else if (strcmp(argv[argi],"3") == 0 ||
                strcmp(argv[argi],"dof3") == 0 || strcmp(argv[argi],"DOF3") == 0 ||
                strcmp(argv[argi],"u3") == 0 || strcmp(argv[argi],"U3") == 0 ||
                strcmp(argv[argi],"uz") == 0 || strcmp(argv[argi],"UZ") == 0)
                dof(i) = 2;
            else if (strcmp(argv[argi],"4") == 0 ||
                strcmp(argv[argi],"dof4") == 0 || strcmp(argv[argi],"DOF4") == 0 ||
                strcmp(argv[argi],"r1") == 0 || strcmp(argv[argi],"R1") == 0 ||
                strcmp(argv[argi],"rx") == 0 || strcmp(argv[argi],"RX") == 0)
                dof(i) = 3;
            else if (strcmp(argv[argi],"5") == 0 ||
                strcmp(argv[argi],"dof5") == 0 || strcmp(argv[argi],"DOF5") == 0 ||
                strcmp(argv[argi],"r2") == 0 || strcmp(argv[argi],"R2") == 0 ||
                strcmp(argv[argi],"ry") == 0 || strcmp(argv[argi],"RY") == 0)
                dof(i) = 4;
            else if (strcmp(argv[argi],"6") == 0 ||
                strcmp(argv[argi],"dof6") == 0 || strcmp(argv[argi],"DOF6") == 0 ||
                strcmp(argv[argi],"r3") == 0 || strcmp(argv[argi],"R3") == 0 ||
                strcmp(argv[argi],"rz") == 0 || strcmp(argv[argi],"RZ") == 0)
                dof(i) = 5;
            else  {
                opserr << "WARNING invalid dof for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
               return TCL_ERROR;
            }
        }
        argi++;
        if (strcmp(argv[argi],"1") == 0 || strcmp(argv[argi],"dsp") == 0 ||
            strcmp(argv[argi],"disp") == 0 || strcmp(argv[argi],"displacement") == 0)
            rspType(i) = OF_Resp_Disp;
        else if (strcmp(argv[argi],"2") == 0 || strcmp(argv[argi],"vel") == 0 ||
            strcmp(argv[argi],"velocity") == 0)
            rspType(i) = OF_Resp_Vel;
        else if (strcmp(argv[argi],"3") == 0 || strcmp(argv[argi],"acc") == 0 ||
            strcmp(argv[argi],"accel") == 0 || strcmp(argv[argi],"acceleration") == 0)
            rspType(i) = OF_Resp_Accel;
        else if (strcmp(argv[argi],"4") == 0 || strcmp(argv[argi],"frc") == 0 ||
            strcmp(argv[argi],"force") == 0)
            rspType(i) = OF_Resp_Force;
        else if (strcmp(argv[argi],"5") == 0 ||  strcmp(argv[argi],"t") == 0 ||
            strcmp(argv[argi],"tme") == 0 || strcmp(argv[argi],"time") == 0)
            rspType(i) = OF_Resp_Time;
        else  {
            opserr << "WARNING invalid rspType for control point: " << tag << endln;
            printCommand(argc,argv);
            opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
            return TCL_ERROR;
        }
        argi++;
        if (argi<argc && (strcmp(argv[argi],"-fact") == 0 || strcmp(argv[argi],"-factor") == 0))  {
            argi++;
            if (Tcl_GetDouble(interp, argv[argi], &f) != TCL_OK)  {
                opserr << "WARNING invalid factor for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                return TCL_ERROR;
            }
            factor(i) = f;
            argi++;
        } else  {
            factor(i) = 1.0;
        }
        if (argi<argc && (strcmp(argv[argi],"-lim") == 0 || strcmp(argv[argi],"-limit") == 0))  {
            argi++;
            if (Tcl_GetDouble(interp, argv[argi], &lim) != TCL_OK)  {
                opserr << "WARNING invalid lower limit for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                return TCL_ERROR;
            }
            lowerLim(i) = lim;
            argi++;
            if (Tcl_GetDouble(interp, argv[argi], &lim) != TCL_OK)  {
                opserr << "WARNING invalid upper limit for control point: " << tag << endln;
                printCommand(argc,argv);
                opserr << "Want: expControlPoint tag <-node nodeTag> dof rspType <-fact f> <-lim l u> <-isRel> ...\n";
                return TCL_ERROR;
            }
            upperLim(i) = lim;
            argi++;
        }
        if (argi<argc && (strcmp(argv[argi],"-isRel") == 0 || strcmp(argv[argi],"-isRelative") == 0))  {
            isRelative(i) = 1;
            numRefType++;
            argi++;
        }
    }
    
    // parsing was successful, allocate the control point
    theCP = new ExperimentalCP(tag, dof, rspType, factor);
    
    if (theCP == 0)  {
        opserr << "WARNING could not create experimental control point " << argv[1] << endln;
        return TCL_ERROR;
    }
    
    // add limits if available
    if (numLim > 0)
        theCP->setLimits(lowerLim, upperLim);
    
    // add signal reference types if available
    if (numRefType > 0)
        theCP->setSigRefType(isRelative);
    
    // add node if available
    if (theNode != 0)
        theCP->setNode(theNode);
    
    // now add the control point to the modelBuilder
    if (addExperimentalCP(*theCP) < 0)  {
        delete theCP; // invoke the destructor, otherwise mem leak
        return TCL_ERROR;
    }
    
    return TCL_OK;
}
Example #7
0
QString Qtilities::Core::QtilitiesFileInfo::absoluteToRelativeFilePath() const {
    if (isRelative()) {
        return FileUtils::toNativeSeparators(QDir::cleanPath(d->relative_to_path + QDir::separator() + filePath()));
    } else
        return QString();
}