コード例 #1
0
ファイル: Waypoint.cpp プロジェクト: PrLayton/SeriousFractal
void Waypoint::Restore(XMLReader &reader)
{
    // read my Element
    reader.readElement("Waypoint");
    Name = reader.getAttribute("name");
    // get the value of the placement
    EndPos = Base::Placement(Base::Vector3d(reader.getAttributeAsFloat("Px"),
                                            reader.getAttributeAsFloat("Py"),
                                            reader.getAttributeAsFloat("Pz")),
                             Base::Rotation(reader.getAttributeAsFloat("Q0"),
                                            reader.getAttributeAsFloat("Q1"),
                                            reader.getAttributeAsFloat("Q2"),
                                            reader.getAttributeAsFloat("Q3")));

    Velocity     = (float) reader.getAttributeAsFloat("vel");
    Accelaration = (float) reader.getAttributeAsFloat("acc");
    Cont         = (reader.getAttributeAsInteger("cont") != 0)?true:false;
    Tool         = reader.getAttributeAsInteger("tool");
    Base         = reader.getAttributeAsInteger("base");

    std::string type = reader.getAttribute("type");
    if(type=="PTP")
        Type = Waypoint::PTP;
    else if(type=="LIN")
        Type = Waypoint::LINE;
    else if(type=="CIRC")
        Type = Waypoint::CIRC;
    else if(type=="WAIT")
        Type = Waypoint::WAIT;
    else 
        Type = Waypoint::UNDEF;


}
コード例 #2
0
ファイル: Constraint.cpp プロジェクト: lanigb/FreeCAD
void Constraint::Restore(XMLReader &reader)
{
    reader.readElement("Constrain");
    Name      = reader.getAttribute("Name");
    Type      = (ConstraintType)  reader.getAttributeAsInteger("Type");
    Value     = reader.getAttributeAsFloat("Value");
    First     = reader.getAttributeAsInteger("First");
    FirstPos  = (PointPos)  reader.getAttributeAsInteger("FirstPos");
    Second    = reader.getAttributeAsInteger("Second");
    SecondPos = (PointPos)  reader.getAttributeAsInteger("SecondPos");

    if(this->Type==InternalAlignment) {
        AlignmentType = (InternalAlignmentType) reader.getAttributeAsInteger("InternalAlignmentType");

        if (reader.hasAttribute("InternalAlignmentIndex"))
            InternalAlignmentIndex = reader.getAttributeAsInteger("InternalAlignmentIndex");
    }
    else {
        AlignmentType = Undef;
    }

    // read the third geo group if present
    if (reader.hasAttribute("Third")) {
        Third    = reader.getAttributeAsInteger("Third");
        ThirdPos = (PointPos)  reader.getAttributeAsInteger("ThirdPos");
    }

    // Read the distance a constraint label has been moved
    if (reader.hasAttribute("LabelDistance"))
        LabelDistance = (float)reader.getAttributeAsFloat("LabelDistance");

    if (reader.hasAttribute("LabelPosition"))
        LabelPosition = (float)reader.getAttributeAsFloat("LabelPosition");

    if (reader.hasAttribute("IsDriving"))
        isDriving = reader.getAttributeAsInteger("IsDriving") ? true : false;

    if (reader.hasAttribute("IsInVirtualSpace"))
        isInVirtualSpace = reader.getAttributeAsInteger("IsInVirtualSpace") ? true : false;
}