Exemple #1
0
GPTreeNode* GPTreeADFPoint::xmlPrint() const
{
    if (NULL == mFunc)
    {
        std::ostringstream out;
        out << mInputPos;
        return new GPTreeNode(GPStrings::GPTreeADF_INPUTS, out.str());
    }
    GPTreeNode* root = new GPTreeNode(GPStrings::GPTreeADF_FUNCTION, mFunc->name);
    GPPtr<GPTreeNode> status = new GPTreeNode(GPStrings::GPTreeADF_STATUS, "");
    root->addChild(status);
    for (int j=0; j<mStatus.size(); ++j)
    {
        const IStatusType* s = mStatus[j]->type();
        std::ostringstream values;
        mStatus[j]->print(values);
        status->addChild(s->name(), values.str());
    }
    GPPtr<GPTreeNode> children = new GPTreeNode(GPStrings::GPTreeADF_CHILDREN, "");
    root->addChild(children);
    GPASSERT(mChildren.size() == mFunc->inputType.size());
    for (int i=0; i<mChildren.size(); ++i)
    {
        GPTreeADFPoint* p = (GPTreeADFPoint*)(mChildren[i]);
        children->addChild(p->xmlPrint());
    }
    return root;
}
GPTreeNode* GPTreeADF::vSave() const
{
    GPASSERT(NULL!=mRoot);
    GPTreeNode* root = new GPTreeNode("GPTreeADF", "");
    root->addChild(mRoot->xmlPrint());
    return root;
}
 virtual GPTreeNode* vSave() const
 {
     GPTreeNode* root = new GPTreeNode("AdaptorGP", "");
     std::ostringstream orderid;
     for (auto id : mInputOrder)
     {
         orderid << id << " ";
     }
     root->addChild(new GPTreeNode("Order", orderid.str()));
     root->addChild(mBase->vSave());
     return root;
 }
GPTreeNode* GPTreeADFPoint::xmlPrint() const
{
    GPTreeNode* root = new GPTreeNode(GPStrings::GPTreeADF_FUNCTION, mFunc.basic->name);
    GPPtr<GPTreeNode> status = new GPTreeNode(GPStrings::GPTreeADF_STATUS, "");
    root->addChild(status);
    for (int j=0; j<mStatus.size(); ++j)
    {
        const IStatusType* s = mStatus[j]->type();
        std::ostringstream values;
        mStatus[j]->print(values);
        status->addChild(s->name(), values.str());
    }
    GPPtr<GPTreeNode> children = new GPTreeNode(GPStrings::GPTreeADF_CHILDREN, "");
    root->addChild(children);
    for (int i=0; i<mChildren.size(); ++i)
    {
        GPTreeADFPoint* p = (GPTreeADFPoint*)(mChildren[i]);
        children->addChild(p->xmlPrint());
    }
    if (mFunc.inputs.size() > 0)
    {
        std::ostringstream inputTypes;
        for (int i=0; i<mFunc.inputs.size(); ++i)
        {
            inputTypes << mFunc.inputs[i]->name() << " ";
        }
        GPPtr<GPTreeNode> inputs = new GPTreeNode(GPStrings::GPTreeADF_INPUTS, inputTypes.str());
        root->addChild(inputs);
        std::ostringstream childflags;
        for (int i=0; i<mFunc.useChildrenInput.size(); ++i)
        {
            childflags << mFunc.useChildrenInput[i] << " ";
        }
        GPPtr<GPTreeNode> childflagsn = new GPTreeNode(GPStrings::GPTreeADF_INPUTFLAGS, childflags.str());
        root->addChild(childflagsn);
    }
    return root;
}