From 49007dc0a651edf71dca840e43953886120d1965 Mon Sep 17 00:00:00 2001 From: guigues Date: Thu, 8 Jan 2009 10:18:29 +0000 Subject: [PATCH] Windows compilation --- kernel/src/bbtkSystem.h | 12 +++++++-- .../boxes/bbVolumeRendererWithControls.bbs | 2 +- packages/std/src/bbstdRelay.h | 27 +++++++++++++++++-- packages/vtk/src/bbvtkImagePlanes.cxx | 27 ++++++++++++++----- packages/vtk/src/bbvtkImagePlanes.h | 15 +++++++---- packages/wx/src/bbwxSlider.cxx | 8 +++--- packages/wxvtk/src/wxvtkImageViewer2.h | 2 +- 7 files changed, 71 insertions(+), 22 deletions(-) diff --git a/kernel/src/bbtkSystem.h b/kernel/src/bbtkSystem.h index c9015c2..72f4e6f 100644 --- a/kernel/src/bbtkSystem.h +++ b/kernel/src/bbtkSystem.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkSystem.h,v $ Language: C++ - Date: $Date: 2008/11/20 17:41:41 $ - Version: $Revision: 1.11 $ + Date: $Date: 2009/01/08 10:18:29 $ + Version: $Revision: 1.12 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -65,7 +65,15 @@ // produce errors if applied using infix notation #pragma warning ( disable : 4284 ) // 'type' : forcing value to bool 'true' or 'false' (performance warning) +// Has revealed a real error ! +// bbSignalOutputModification(bool) called rather than +// bbSignalOutputModification(const std::string&, bool = true) +// when invoking bbSignalOutputModification("Out") +// KEEP IT ! // //#pragma warning ( disable : 4800 ) +// To avoid warning : +// 'PACKAGE_NAMEGetPackage' has C-linkage specified, but returns UDT 'boost::shared_ptr' which is incompatible with C +#pragma warning ( disable : 4190 ) #endif //_MSC_VER diff --git a/packages/kw/bbs/boxes/bbVolumeRendererWithControls.bbs b/packages/kw/bbs/boxes/bbVolumeRendererWithControls.bbs index ac3d037..851e59a 100644 --- a/packages/kw/bbs/boxes/bbVolumeRendererWithControls.bbs +++ b/packages/kw/bbs/boxes/bbVolumeRendererWithControls.bbs @@ -22,7 +22,7 @@ define kwVolumeRendererWithControls kw connect color.BoxChange refresh.In1 connect opacity.BoxChange refresh.In2 - new "vtkImageData*Relay" image + new vtkImageDataPointerRelay image connect image.Out color.In connect image.Out opacity.In connect image.Out renderer.In diff --git a/packages/std/src/bbstdRelay.h b/packages/std/src/bbstdRelay.h index a2a3ce9..fe80f66 100644 --- a/packages/std/src/bbstdRelay.h +++ b/packages/std/src/bbstdRelay.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbstdRelay.h,v $ Language: C++ - Date: $Date: 2008/12/12 08:55:21 $ - Version: $Revision: 1.8 $ + Date: $Date: 2009/01/08 10:18:34 $ + Version: $Revision: 1.9 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -66,4 +66,27 @@ namespace bbstd } // namespace bbstd +//======================================================================= +// MACRO + +#define BBTK_DEFINE_RELAY_BLACK_BOX(TYPE,PACKAGE,NAME) \ +class bb ## PACKAGE ## _EXPORT NAME : public bbtk::AtomicBlackBox { \ + BBTK_BLACK_BOX_INTERFACE(NAME,bbtk::AtomicBlackBox); \ + BBTK_DECLARE_INPUT(In,TYPE); \ + BBTK_DECLARE_OUTPUT(Out,TYPE); \ + BBTK_PROCESS(Process); \ + protected: \ + void Process() { bbSetOutputOut ( bbGetInputIn() ); } \ +}; \ +BBTK_BEGIN_DESCRIBE_BLACK_BOX(NAME,bbtk::AtomicBlackBox);\ +BBTK_NAME(#NAME); \ +BBTK_AUTHOR("laurent.guigues at creatis.insa-lyon.fr"); \ +BBTK_CATEGORY("misc"); \ +BBTK_DESCRIPTION("Just copies the value of its input to its output. Usefull to plug an input of a complex box into different internal boxes."); \ +BBTK_INPUT(NAME,In,"Input",TYPE,"");\ +BBTK_OUTPUT(NAME,Out,"Output",TYPE,"");\ +BBTK_END_DESCRIBE_BLACK_BOX(NAME); + +//======================================================================= + #endif // __bbstdRelay_h_INCLUDED_H__ diff --git a/packages/vtk/src/bbvtkImagePlanes.cxx b/packages/vtk/src/bbvtkImagePlanes.cxx index e93074f..8ff343d 100644 --- a/packages/vtk/src/bbvtkImagePlanes.cxx +++ b/packages/vtk/src/bbvtkImagePlanes.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbvtkImagePlanes.cxx,v $ Language: C++ - Date: $Date: 2008/12/18 11:55:00 $ - Version: $Revision: 1.18 $ + Date: $Date: 2009/01/08 10:18:37 $ + Version: $Revision: 1.19 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -60,6 +60,8 @@ #include "bbstdRelay.h" + + namespace bbstd { @@ -68,14 +70,20 @@ namespace bbstd bbtk::AtomicBlackBox); //==================================================================== //==================================================================== - BBTK_BLACK_BOX_TEMPLATE_IMPLEMENTATION(Relay, - bbtk::AtomicBlackBox); +// BBTK_BLACK_BOX_TEMPLATE_IMPLEMENTATION(Relay, +// bbtk::AtomicBlackBox); //==================================================================== } using namespace bbstd; - - +/* +namespace bbtk +{ + typedef vtkImageData::Pointer vtkImageDataPointer; + BBTK_DEFINE_HUMAN_READABLE_TYPE_NAME(vtkImageDataPointer, + "vtkImageDataPointer"); +} +*/ namespace bbvtk { @@ -87,7 +95,12 @@ namespace bbvtk BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(vtk,Cast,I,O); - BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(vtk,Relay,vtkImageDataPointer); + BBTK_DEFINE_RELAY_BLACK_BOX(vtkImageDataPointer,vtk,vtkImageDataPointerRelay); + BBTK_BLACK_BOX_IMPLEMENTATION(vtkImageDataPointerRelay,bbtk::AtomicBlackBox); + + BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,vtkImageDataPointerRelay); + // BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(vtk,Relay,vtkImageDataPointer); + //Pointer); } diff --git a/packages/vtk/src/bbvtkImagePlanes.h b/packages/vtk/src/bbvtkImagePlanes.h index 08fe3f6..686ec71 100644 --- a/packages/vtk/src/bbvtkImagePlanes.h +++ b/packages/vtk/src/bbvtkImagePlanes.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbvtkImagePlanes.h,v $ Language: C++ - Date: $Date: 2008/12/18 11:55:00 $ - Version: $Revision: 1.11 $ + Date: $Date: 2009/01/08 10:18:37 $ + Version: $Revision: 1.12 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -115,14 +115,19 @@ namespace bbvtk }//namespace bbvtk + +/* namespace bbvtk { - typedef vtkImageData* vtkImageDataPointer; + typedef vtkImageData* vtkImageDataPointer; } +*/ + typedef vtkImageData* vtkImageDataPointer; + namespace bbtk { - BBTK_DEFINE_HUMAN_READABLE_TYPE_NAME(bbvtk::vtkImageDataPointer, - "vtkImageDataPointer"); + BBTK_DEFINE_HUMAN_READABLE_TYPE_NAME(vtkImageDataPointer, + "vtkImageDataPointer"); } diff --git a/packages/wx/src/bbwxSlider.cxx b/packages/wx/src/bbwxSlider.cxx index 71a4b97..3e5dd55 100644 --- a/packages/wx/src/bbwxSlider.cxx +++ b/packages/wx/src/bbwxSlider.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbwxSlider.cxx,v $ Language: C++ - Date: $Date: 2008/12/11 15:30:14 $ - Version: $Revision: 1.16 $ + Date: $Date: 2009/01/08 10:18:39 $ + Version: $Revision: 1.17 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -333,7 +333,7 @@ namespace bbwx mBox->bbSetOutputOut( mwxSlider->GetValue() ); mBox->bbSetInputIn( mwxSlider->GetValue() ); // and signal that the output has changed - mBox->bbSignalOutputModification("Out"); + mBox->bbSignalOutputModification(std::string("Out")); } RefreshLabels(); } @@ -348,7 +348,7 @@ namespace bbwx mBox->bbSetOutputOut( mwxSlider->GetValue() ); mBox->bbSetInputIn( mwxSlider->GetValue() ); // and signal that the output has changed - mBox->bbSignalOutputModification("Out"); + mBox->bbSignalOutputModification(std::string("Out")); } //------------------------------------------------------------------------- diff --git a/packages/wxvtk/src/wxvtkImageViewer2.h b/packages/wxvtk/src/wxvtkImageViewer2.h index 19e7245..6720832 100644 --- a/packages/wxvtk/src/wxvtkImageViewer2.h +++ b/packages/wxvtk/src/wxvtkImageViewer2.h @@ -65,7 +65,7 @@ class vtkRenderWindow; class vtkRenderer; class vtkRenderWindowInteractor; -class VTK_RENDERING_EXPORT wxvtkImageViewer2 : public vtkObject +class /*VTK_RENDERING_EXPORT*/ wxvtkImageViewer2 : public vtkObject { public: static wxvtkImageViewer2 *New(); -- 2.45.1