X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fappli%2Fbbfy%2Fbbfy.cpp;h=4aeb878c5719e47b2b1e9d657646ad44da31e59e;hb=41dd99d33d99d0e17448d401a1d46ef390b5d525;hp=7ec9442d94765335c5097b4f2964d049d8fe2f79;hpb=68616a252957b8585f4dfe97b71ae269e3bc5f54;p=bbtk.git diff --git a/kernel/appli/bbfy/bbfy.cpp b/kernel/appli/bbfy/bbfy.cpp index 7ec9442..4aeb878 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 +782,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 +846,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 +991,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 +1015,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 "<