X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fappli%2Fbbfy%2Fbbfy.cpp;h=e67bce9600757ff3c9c60d927a9cb56a9954b553;hb=e64f1a51510b44580500fd9ec30b4c937255bf75;hp=7ec9442d94765335c5097b4f2964d049d8fe2f79;hpb=68616a252957b8585f4dfe97b71ae269e3bc5f54;p=bbtk.git diff --git a/kernel/appli/bbfy/bbfy.cpp b/kernel/appli/bbfy/bbfy.cpp index 7ec9442..e67bce9 100644 --- a/kernel/appli/bbfy/bbfy.cpp +++ b/kernel/appli/bbfy/bbfy.cpp @@ -77,6 +77,7 @@ private: std::string mTemplateImplementation; std::vector mInclude; + std::vector mTypedef; std::string mUserConstructor; std::string mUserCopyConstructor; @@ -86,6 +87,7 @@ private: { std::string name; std::string type; + std::string nature; std::string descr; std::string special; std::string generic_type; @@ -275,19 +277,19 @@ void bbfy::ParseXML() } // UserConstructor body - if (BB.nChildNode("constructor")) + if (BB.nChildNode("userconstructor")) { - bbtk::GetTextOrClear(BB.getChildNode("constructor"),mUserConstructor); + bbtk::GetTextOrClear(BB.getChildNode("userconstructor"),mUserConstructor); } // UserCopyConstructor body - if (BB.nChildNode("copyconstructor")) + if (BB.nChildNode("usercopyconstructor")) { - bbtk::GetTextOrClear(BB.getChildNode("copyconstructor"),mUserCopyConstructor); + bbtk::GetTextOrClear(BB.getChildNode("usercopyconstructor"),mUserCopyConstructor); } // UserDestructor body - if (BB.nChildNode("destructor")) + if (BB.nChildNode("userdestructor")) { - bbtk::GetTextOrClear(BB.getChildNode("destructor"),mUserDestructor); + bbtk::GetTextOrClear(BB.getChildNode("userdestructor"),mUserDestructor); } // Template parameters @@ -326,6 +328,13 @@ void bbfy::ParseXML() bbtk::GetTextOrClear(BB.getChildNode("include",&j),val); mInclude.push_back(val); } + // Typedef + for (i=0,j=0; iname << ",\"" - << ioi->descr << "\"," << ioi->type <<");\n"; + << ioi->descr << "\"," << ioi->type << ",\"" + << ioi->nature<<"\");\n"; } // Outputs @@ -753,7 +791,8 @@ void bbfy::CreateHeader() mFile << "BBTK_OUTPUT("; } mFile << mName << "," << ioi->name << ",\"" - << ioi->descr << "\"," << ioi->type <<");\n"; + << ioi->descr << "\"," << ioi->type << ",\"" + << ioi->nature<<"\");\n"; } // EO black box description @@ -816,7 +855,7 @@ void bbfy::WriteGenericITKFilterHeader() mFile << "{\n"; // Interface - mFile << " BBTK_USER_BLACK_BOX_INTERFACE(" + mFile << " BBTK_BLACK_BOX_INTERFACE(" << mName << "Generic,bbtk::AtomicBlackBox);\n"; // Inputs @@ -961,14 +1000,14 @@ void bbfy::CreateCode() if (mTemplateParam.size()>0) { // Implementation - mFile << "BBTK_USER_BLACK_BOX_TEMPLATE_IMPLEMENTATION(" + mFile << "BBTK_BLACK_BOX_TEMPLATE_IMPLEMENTATION(" << mName << "," << mParentBlackBox << ");\n"; if (mGeneric) { // Implementation - mFile << "BBTK_USER_BLACK_BOX_IMPLEMENTATION(" + mFile << "BBTK_BLACK_BOX_IMPLEMENTATION(" << mName << "Generic,bbtk::AtomicBlackBox);\n"; // Package mFile << "BBTK_ADD_BLACK_BOX_TO_PACKAGE(" @@ -985,21 +1024,21 @@ void bbfy::CreateCode() << mName << ")\n"; // Implementation - mFile << "BBTK_USER_BLACK_BOX_IMPLEMENTATION(" + mFile << "BBTK_BLACK_BOX_IMPLEMENTATION(" << mName << "," << mParentBlackBox << ");\n"; } // Process if ((mType == STD)||(mProcess.size())) { - mFile << "void "<