X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fappli%2Fbbfy%2Fbbfy.cpp;h=bb420978b4ec88ba69b36820dfb347958d8c77d3;hb=19a1e7a2f298bfdfee13893f98272de4e6d0f7f2;hp=7ec9442d94765335c5097b4f2964d049d8fe2f79;hpb=68616a252957b8585f4dfe97b71ae269e3bc5f54;p=bbtk.git diff --git a/kernel/appli/bbfy/bbfy.cpp b/kernel/appli/bbfy/bbfy.cpp index 7ec9442..bb42097 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; ispecial=="itk input") { mFile << " BBTK_DECLARE_ITK_INPUT(" - << "itkParent," << ioi->name << "," << ioi->type @@ -578,7 +620,6 @@ void bbfy::CreateHeader() { if (mType == vtkImageAlgorithm) { mFile << " BBTK_DECLARE_VTK_IMAGE_ALGORITHM_INPUT(" - << "vtkParent," << ioi->name << "," << ioi->type @@ -586,7 +627,6 @@ void bbfy::CreateHeader() } else if (mType == vtkPolyDataAlgorithm) { mFile << " BBTK_DECLARE_POLY_DATA_ALGORITHM_INPUT(" - << "vtkParent," << ioi->name << "," << ioi->type @@ -596,7 +636,6 @@ void bbfy::CreateHeader() else if (ioi->special=="itk parameter") { mFile << " BBTK_DECLARE_ITK_PARAM(" - << "itkParent," << ioi->name << "," << ioi->type @@ -605,7 +644,6 @@ void bbfy::CreateHeader() else if (ioi->special=="vtk parameter") { mFile << " BBTK_DECLARE_VTK_PARAM(" - << "vtkParent," << ioi->name << "," << ioi->type @@ -636,7 +674,6 @@ void bbfy::CreateHeader() else if (ioi->special=="itk output") { mFile << " BBTK_DECLARE_ITK_OUTPUT(" - << "itkParent," << ioi->name << "," << ioi->type @@ -645,7 +682,6 @@ void bbfy::CreateHeader() else if (ioi->special=="vtk output") { mFile << " BBTK_DECLARE_VTK_OUTPUT(" - << "vtkParent," << ioi->name << "," << ioi->type @@ -666,25 +702,25 @@ void bbfy::CreateHeader() // Process if ((mType == STD)||(mProcess.size())) { - mFile << " BBTK_PROCESS(DoProcess);\n" ; - mFile << " void DoProcess();\n"; + mFile << " BBTK_PROCESS(Process);\n" ; + mFile << " void Process();\n"; } else if (mType == itkImageToImageFilter) { - mFile << " BBTK_PROCESS(itkParent::Update);\n" ; + mFile << " BBTK_ITK_PROCESS();\n" ; } else if ((mType == vtkImageAlgorithm) || (mType == vtkPolyDataAlgorithm) ) { - mFile << " BBTK_PROCESS(vtkParent::Update);\n" ; + mFile << " BBTK_VTK_PROCESS();\n" ; } // CreateWidget if (mIsWidget) { - mFile << " BBTK_CREATE_WIDGET(DoCreateWidget);\n" ; - mFile << " void DoCreateWidget();\n"; + mFile << " BBTK_CREATE_WIDGET(CreateWidget);\n" ; + mFile << " void CreateWidget();\n"; } @@ -725,6 +761,11 @@ void bbfy::CreateHeader() // Category mFile << "BBTK_CATEGORY(\""<name << ",\"" - << ioi->descr << "\"," << ioi->type <<");\n"; + << ioi->descr << "\"," << ioi->type << ",\"" + << ioi->nature<<"\");\n"; } // Outputs @@ -753,7 +795,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 +859,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 +1004,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 +1028,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 "<