]> Creatis software - creaCLI.git/blobdiff - ModuleCall/GenSrc/bbSlicerModelMaker.cxx
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / ModuleCall / GenSrc / bbSlicerModelMaker.cxx
diff --git a/ModuleCall/GenSrc/bbSlicerModelMaker.cxx b/ModuleCall/GenSrc/bbSlicerModelMaker.cxx
new file mode 100644 (file)
index 0000000..2f7737c
--- /dev/null
@@ -0,0 +1,72 @@
+#include "bbSlicerModelMaker.h"
+#include "bbSlicerPackage.h"
+
+namespace bbSlicer {
+    BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ModelMaker )
+    BBTK_BLACK_BOX_IMPLEMENTATION ( ModelMaker, bbtk::AtomicBlackBox );
+
+    void ModelMaker::Process ( ) {
+
+        // GENERATED
+
+int _argc =18;
+std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libModelMakerLib.so";
+char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--color"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputColorTable( ) ) ) ,"@@@@@"," --color ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modelSceneFile"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModelSceneFile( ) ) ) ,"@@@@@"," --modelSceneFile ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputName( ) ) ) ,"@@@@@"," -n ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--generateAll"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputGenerateAll( ) ) ) ,"@@@@@"," --generateAll ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLabels( ) ) ) ,"@@@@@"," -l ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputStartLabel( ) ) ) ,"@@@@@"," -s ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputEndLabel( ) ) ) ,"@@@@@"," -e ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--skipUnNamed"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSkipUnNamed( ) ) ) ,"@@@@@"," --skipUnNamed ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-j"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputJointSmoothing( ) ) ) ,"@@@@@"," -j ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smooth"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSmooth( ) ) ) ,"@@@@@"," --smooth ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--filtertype"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFilterType( ) ) ) ,"@@@@@"," --filtertype ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--decimate"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDecimate( ) ) ) ,"@@@@@"," --decimate ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splitnormals"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSplitNormals( ) ) ) ,"@@@@@"," --splitnormals ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointnormals"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPointNormals( ) ) ) ,"@@@@@"," --pointnormals ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pad"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPad( ) ) ) ,"@@@@@"," --pad ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveIntermediateModels"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSaveIntermediateModels( ) ) ) ,"@@@@@"," --saveIntermediateModels ") ),
+Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d"  ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebug( ) ) ) ,"@@@@@"," -d ") ) };
+
+        // EO GENERATED
+        this->execute( lib, _argc, _argv );
+
+    }
+
+    void ModelMaker::execute ( std::string lib, int _argc, char * _argv[] ) {
+        void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL );
+        if ( ! handle ) {
+            std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n';
+            return;
+        }
+        typedef int (*method_t )( int argc, char * argv[] );
+        // RESET ERROR
+        dlerror( );
+        // PROTOTYPE
+        method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" );
+        const char *dlsym_error = dlerror( );
+        if ( dlsym_error ) {
+            std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n';
+            dlclose( handle );
+            return;
+        }
+        // METHOD CALL
+        myMethod( _argc, _argv );
+        // CLOSING LIB
+        dlclose( handle );
+    }
+
+    void ModelMaker::bbUserSetDefaultValues ( ) {
+    }
+
+    void ModelMaker::bbUserInitializeProcessing ( ) {
+    }
+
+    void ModelMaker::bbUserFinalizeProcessing ( ) {
+    }
+}
+// EO namespace bbSlicer
+
+