-#define TEMPLATE_SWITCH(TYPE_INFO,TEST_TYPE,TEMPLATE_FUNCTION,TEMPLATE_TYPE) \
- else if (TYPE_INFO == typeid(bbitk::TEST_TYPE)) \
- { TEMPLATE_FUNCTION<bbitk::TEMPLATE_TYPE>(); }
+
+
+//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 TEMPLATE_SWITCH(TYPE_INFO,TEST_TYPE,TEMPLATE_FUNCTION,TEMPLATE_TYPE) \
+ else if ( strcmp(TYPE_INFO.name() , typeid(bbitk::TEST_TYPE).name() ) ==0 ) \
+ { TEMPLATE_FUNCTION<bbitk::TEMPLATE_TYPE>(); }
+#else
+ #define TEMPLATE_SWITCH(TYPE_INFO,TEST_TYPE,TEMPLATE_FUNCTION,TEMPLATE_TYPE) \
+ else if (TYPE_INFO == typeid(bbitk::TEST_TYPE)) \
+ { TEMPLATE_FUNCTION<bbitk::TEMPLATE_TYPE>(); }
+#endif