// -------------------------------------------------------------------------
 int main( int argc, char* argv[] )
 {
-  ::setenv( "LC_NUMERIC", "POSIX", 1 );
+// TODO  ::setenv( "LC_NUMERIC", "POSIX", 1 );
   QApplication a( argc, argv );
   ImageMPR w;
   w.show( );
 
 VectorType cpPlugins::Extensions::DataStructures::QuadEdgeMesh< P, D, T >::
 _ComputePointNormal( const TPrimalEdge* e ) const
 {
-  static const TScalar zero = TScalar( 0 );
-
-  VectorType n( zero );
+  VectorType n( TScalar( 0 ) );
   if( Superclass::PointDimension == 3 )
   {
     PointType p0 = this->GetPoint( e->GetOrigin( ) );
         if( nIt == e->EndOnext( ) )
           nIt = e->BeginOnext( );
 
-        n += itk::CrossProduct(
-          this->GetPoint( ( *eIt )->GetDestination( ) ) - p0,
-          this->GetPoint( ( *nIt )->GetDestination( ) ) - p0
-          );
+        VectorType pe = this->GetPoint( ( *eIt )->GetDestination( ) ) - p0;
+        VectorType pn = this->GetPoint( ( *nIt )->GetDestination( ) ) - p0;
+        n[ 0 ] += ( pe[ 1 ] * pn[ 2 ] ) - ( pe[ 2 ] * pn[ 1 ] );
+        n[ 1 ] += ( pe[ 2 ] * pn[ 0 ] ) - ( pe[ 0 ] * pn[ 2 ] );
+        n[ 2 ] += ( pe[ 0 ] * pn[ 1 ] ) - ( pe[ 1 ] * pn[ 0 ] );
         count++;
 
       } // fi
 
     } // rof
     TScalar nn = n.GetNorm( );
-    if( nn > zero && count > 0 )
+    if( nn > TScalar( 0 ) && count > 0 )
       n /= nn * TScalar( count );
 
   } // fi
 
 vtkPlane* cpPlugins::Extensions::Visualization::MPRActors::
 GetSlicePlane( const int& axis ) const
 {
+  return( NULL );
 }
 
 // -------------------------------------------------------------------------
 
 
 #include <cpPlugins/Extensions/Visualization/MPRActors.h>
 #include <cpPlugins/Extensions/Visualization/ImageInteractorStyle.h>
+#include <cpPlugins/Extensions/cpPlugins_Extensions_Export.h>
 
 #include <vtkImageData.h>
 #include <vtkRenderer.h>
     {
       /**
        */
-      class MPRWithDifferentWindows
+      class cpPlugins_Extensions_EXPORT MPRWithDifferentWindows
       {
       public:
         typedef cpPlugins::Extensions::Visualization::
 
 #include <itkObjectFactory.h>
 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
 
+
+// -------------------------------------------------------------------------
+#define PLUMA_PROVIDER_HEADER_BEGIN_CPPLUGINS( TYPE )\
+class cpPlugins_Interface_EXPORT TYPE##Provider\
+: public pluma::Provider{\
+private:\
+    friend class pluma::Pluma;\
+    static const unsigned int PLUMA_INTERFACE_VERSION;\
+    static const unsigned int PLUMA_INTERFACE_LOWEST_VERSION;\
+    static const std::string PLUMA_PROVIDER_TYPE;\
+    std::string plumaGetType( ) const\
+{ return( PLUMA_PROVIDER_TYPE ); }\
+public:\
+    unsigned int getVersion( ) const\
+{ return( PLUMA_INTERFACE_VERSION ); }
+
+// -------------------------------------------------------------------------
+#define PLUMA_PROVIDER_HEADER_END_CPPLUGINS };
+
 // -------------------------------------------------------------------------
 #define PLUMA_PROVIDER_HEADER_CPPLUGINS( TYPE )         \
-  PLUMA_PROVIDER_HEADER_BEGIN( TYPE )                   \
+  PLUMA_PROVIDER_HEADER_BEGIN_CPPLUGINS( TYPE )         \
   virtual TYPE::Pointer create( ) const = 0;            \
-  PLUMA_PROVIDER_HEADER_END
+  PLUMA_PROVIDER_HEADER_END_CPPLUGINS
 
 // -------------------------------------------------------------------------
 #define PLUMA_INHERIT_PROVIDER_CPPLUGINS( TYPE, SUPER ) \
 
 TARGET_LINK_LIBRARIES(
   ${LIBRARY_NAME}
   cpPlugins_Interface
-  ${ITK_LIBRARIES}
   )
 
 ## eof - $RCSfile$
 
   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/third_party/Pluma/${LIBRARY_NAME}_Export.h
   STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
   )
-TARGET_LINK_LIBRARIES(
-  ${LIBRARY_NAME}
-  dl
-  )
+IF(NOT WIN32)
+  TARGET_LINK_LIBRARIES(
+    ${LIBRARY_NAME}
+    dl
+    )
+ENDIF(NOT WIN32)
 
 ## eof - $RCSfile$
 
 ////////////////////////////////////////////////////////////\r
 // Define portable import / export macros\r
 ////////////////////////////////////////////////////////////\r
+\r
+#include <Pluma/cpPlugins_Pluma_Export.h>\r
+#define PLUMA_API cpPlugins_Pluma_EXPORT\r
+\r
+/* ===================================================================\r
+ * florez-l@javeriana.edu.co: use dll macro defined from cmake instead\r
+ * =================================================================== \r
 #if defined(PLUMA_SYS_WINDOWS)\r
 \r
     #ifndef PLUMA_STATIC\r
     #define PLUMA_API\r
 \r
 #endif\r
-\r
-\r
-\r
+*/\r
 \r
 #endif // PLUMA_CONFIG_HPP\r
 
     return false;\r
 }\r
 \r
-\r
 ////////////////////////////////////////////////////////////\r
 void PluginManager::unloadAll(){\r
 \r