]> Creatis software - bbtk.git/blobdiff - packages/itkvtk/src/bbitkvtkitkImage2vtkImageData.cxx
3480 Bug typeid in Macos
[bbtk.git] / packages / itkvtk / src / bbitkvtkitkImage2vtkImageData.cxx
index 13dae0557d8a2266dee56d6681bdf7ef2f828406..8347241b41dfad329e3bc9c5728a1a00b9f4356c 100644 (file)
     this->Convert< itk::Image< ty, di > >( )
 */
 
+
+
+
 // -------------------------------------------------------------------------
 // LFV: avoid itk::Concept check on 4d or superior images
-#define BBITKVTK_itkImage2vtkImageData_Template( t, ty, di )            \
-  if( t == typeid( itk::Image< ty, di >* ) )                             \
-    this->Convert< itk::Image< ty, di > >( )
+//EED 2021-12-15 typeid comparation is not working in MacOs for objects declared  in different libraries
+// ex: itk <-> vtk templates convertion
+#if defined(MACOSX)
+   #define BBITKVTK_itkImage2vtkImageData_Template( t, ty, di )               \
+     if ( strcmp(t.name()  , typeid( itk::Image< ty, di >* ).name() ) == 0 )  \
+       this->Convert< itk::Image< ty, di > >( )
+#else
+   #define BBITKVTK_itkImage2vtkImageData_Template( t, ty, di )               \
+     if( t == typeid( itk::Image< ty, di >* ) )                               \
+       this->Convert< itk::Image< ty, di > >( )
+#endif
 // -------------------------------------------------------------------------
 
+
+
 namespace bbitkvtk 
 {
   BBTK_BLACK_BOX_IMPLEMENTATION(itkImage2vtkImageData,bbtk::AtomicBlackBox);
@@ -102,7 +115,10 @@ namespace bbitkvtk
     else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned short, 3 );
     else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned int, 3 );
     else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned long, 3 );
-       
+    else {
+        printf("Warnning! EED itkImage2vtkImageData::Convert Type not found for: <%s>\n", bbtk::demangle_type_name(t.name()).c_str()   );
+    }
+      
     /* Deprecated
        BBTK_TEMPLATE_ITK_IMAGE_SWITCH(t,Convert);
     */