]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h
#3418 creaMaracasVisu Feature New Normal - ManualPaint_model with openmp
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkClipping3DDataViewer.h
index 33a3e74cefb8c6ecc881c5b45e555cf40b736c1c..4a75a62a35fe8bd8988adc630db3776a690042d1 100644 (file)
 #include "vtkStripper.h"
 #include "vtkLODActor.h"
 #include "vtkMarchingCubes.h"
-#include "vtkVolumeRayCastMapper.h"
+#if (VTK_MAJOR_VERSION <= 7) 
+       #include "vtkVolumeRayCastCompositeFunction.h"
+       #include "vtkVolumeRayCastMIPFunction.h"
+       #include "vtkVolumeRayCastMapper.h"
+#else 
+       #include <vtkFixedPointVolumeRayCastMapper.h>
+#endif
 #include "boxSurfaceObserver.h"
-#include "vtkVolumeRayCastCompositeFunction.h"
 #include <vtkPiecewiseFunction.h>
 #include "vtkVolumeProperty.h"
 #include "vtkPolyDataMapper.h"
@@ -44,7 +49,6 @@
 #include "vtkOutlineFilter.h"
 #include "vtkRenderWindowInteractor.h"
 
-#include "vtkVolumeRayCastMIPFunction.h"
 
 #include "volumerendererdata.h"
 
@@ -57,9 +61,10 @@ public:
        virtual ~vtkClipping3DDataViewer();
 
 //     vtkImageActor*                  GetImageActor(int id);
-       vtkActor*                               GetOutlineActor();
+
+
        vtkClipPolyData*                GetTissueClipper(int id);
-       vtkPolyDataMapper*      GetTissueMapper(int id);
+       vtkPolyDataMapper*              GetTissueMapper(int id);
        vtkPlanes*                              GetTissuePlanes(int id);
        vtkStripper*                    GetTissueStripper(int id);
 //     vtkGlyph3D*                             GetGlyph(int id);
@@ -68,56 +73,63 @@ public:
        vtkMarchingCubes                *GetMCubes(int idTissue);
 
        virtual void                    Refresh();
-       void                                            RefreshSurface();
+       void                                    RefreshSurface();
 
        virtual void                    Configure();
-       void                                            Configure_Tissue();
-       void                                            Configure_Volume();
-       
-       void                                            SetIsovalue(int idTissue, int isoValue);
+       void                                    Configure_Tissue();
+       void                                    Configure_Volume();
+       void                                    SetImage();
+
+       void                                    SetIsovalue(int idTissue, int isoValue);
        double                                  GetIsovalue(int idTissue);
 
        vtkVolume                               *GetVolumeActor();
-       vtkVolumeRayCastMapper  *GetVolumeMapper();
+       
+#if (VTK_MAJOR_VERSION <= 7) 
+       vtkVolumeRayCastMapper                          *GetVolumeMapper();
+#else 
+       vtkFixedPointVolumeRayCastMapper        *GetVolumeMapper();
+#endif
+
        vtkPlanes                               *GetVolumePlanes();
 
-       void                                            SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
-       vtkMPRBaseData*         GetVtkMPRBaseData();
+       void                                    SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
+       vtkMPRBaseData*                 GetVtkMPRBaseData();
 
-       vtkActor                                        *GetTissueActor(int id);
-       void                                            SetVisibleTissue(int idTissue, bool visible);
-       bool                                            GetVisibleTissue(int idTissue);
-       bool                                            GetVisibleVolume();
-       void                                            SetVisibleVolume(bool visibleVolume);
+       vtkActor                                *GetTissueActor(int id);
+       void                                    SetVisibleTissue(int idTissue, bool visible);
+       bool                                    GetVisibleTissue(int idTissue);
+       bool                                    GetVisibleVolume();
+       void                                    SetVisibleVolume(bool visibleVolume);
 
-   bool                                                GetVisibleVolumeBox();
-       void                                            SetVisibleVolumeBox(bool visibleBox);
+       bool                                    GetVisibleVolumeBox();
+       void                                    SetVisibleVolumeBox(bool visibleBox);
 
-       void                                            SetRepresentationType(int idTissue, bool representationType);
-       bool                                            GetRepresentationType(int idTissue);
+       void                                    SetRepresentationType(int idTissue, bool representationType);
+       bool                                    GetRepresentationType(int idTissue);
 
-       boxSurfaceObserver      *GetObserverS(int idObserverS);
-       boxSurfaceObserver      *GetObserverV();
+       boxSurfaceObserver              *GetObserverS(int idObserverS);
+       boxSurfaceObserver              *GetObserverV();
 
        //void                                  ReadVolumeFunctions(char *namefile);
-       void                                            ReadVolumeFunctions();
-       void                                            ReadMeshVTK(char *namefile);
+       void                                    ReadVolumeFunctions();
+       void                                    ReadMeshVTK(char *namefile);
 
 
-    void                                               Configure_VolumeBox();
-    void                                               SetInteractor(vtkRenderWindowInteractor* interactor);
-    void                                               SetRenderer(vtkRenderer* renderer);
+    void                                       Configure_VolumeBox();
+    void                                       SetInteractor(vtkRenderWindowInteractor* interactor);
+    void                                       SetRenderer(vtkRenderer* renderer);
 
        //-------------------
        //Getters Vectors
        //-------------------
 
-       std::vector<double>*                                    GetGreyValuesTransferenceFVector();
-       std::vector<double>*                                    GetIntensityValuesTransferenceFVector();
-       std::vector<double>*                                    GetRedColorsOfColorTransferenceFVector();
-       std::vector<double>*                                    GetGreenColorsOfColorTransferenceFVector();
-       std::vector<double>*                                    GetBlueColorsOfColorTransferenceFVector();
-       std::vector<double>*                                    GetGreyValueColorsOfColorTransferenceFVector();
+       std::vector<double>*    GetGreyValuesTransferenceFVector();
+       std::vector<double>*    GetIntensityValuesTransferenceFVector();
+       std::vector<double>*    GetRedColorsOfColorTransferenceFVector();
+       std::vector<double>*    GetGreenColorsOfColorTransferenceFVector();
+       std::vector<double>*    GetBlueColorsOfColorTransferenceFVector();
+       std::vector<double>*    GetGreyValueColorsOfColorTransferenceFVector();
 
        void setColorTransferFunction(vtkColorTransferFunction* colortable);
 
@@ -125,61 +137,67 @@ public:
        //Getters transference function
        //and color of the transference function
        //---------------------------------------
-       vtkPiecewiseFunction                    *GetTransferencefunction();
+       vtkPiecewiseFunction            *GetTransferencefunction();
        vtkColorTransferFunction        *GetColorTransferenceFunction();
 
-       void                      SetRayCasting(bool active);
-       void                      SetMIPActive(bool active);
-   void                      SetInterpolation(bool active);
-   void                      SetShade(bool active);
-   void                      updateVolume();
-   void                      BoxActorChanged(bool changed);
-   void                      UpdateVolumeBox(vector<double> gf, vector<double> vf, vtkColorTransferFunction* ctfun);
+       void                    SetRayCasting(bool active);
+       void                    SetMIPActive(bool active);
+       void                    SetInterpolation(bool active);
+       void                    SetShade(bool active);
+       void                    updateVolume();
+       void                                    BoxActorChanged(bool changed);
+       void                    UpdateVolumeBox(vector<double> gf, vector<double> vf, vtkColorTransferFunction* ctfun);
 
 
 
 private:
-
-       vtkMarchingCubes                                *_mCubes[ VTKMPRDATA_MAXTISSUE ];
-       vtkStripper                                             *_tissueStripper[ VTKMPRDATA_MAXTISSUE ];
-       vtkPolyDataMapper                               *_tissueMapper[ VTKMPRDATA_MAXTISSUE ];
-       vtkPlanes                                               *_tissuePlanes[ VTKMPRDATA_MAXTISSUE ];
-       vtkClipPolyData                         *_tissueClipper[ VTKMPRDATA_MAXTISSUE ];
-
-       // outline
-       vtkOutlineFilter                                *_outlineData;
-       vtkPolyDataMapper                               *_mapOutline;
-       vtkActor                                                        *_outline;
+       vtkMarchingCubes                                        *_mCubes[ VTKMPRDATA_MAXTISSUE ];
+       vtkStripper                                                     *_tissueStripper[ VTKMPRDATA_MAXTISSUE ];
+       vtkPolyDataMapper                                       *_tissueMapper[ VTKMPRDATA_MAXTISSUE ];
+       vtkPlanes                                                       *_tissuePlanes[ VTKMPRDATA_MAXTISSUE ];
+       vtkClipPolyData                                         *_tissueClipper[ VTKMPRDATA_MAXTISSUE ];
 
        /// Volume
-       vtkPiecewiseFunction                    *_tfun;
-       vtkColorTransferFunction        *_ctfun;
+       vtkPiecewiseFunction                            *_tfun;
+       vtkColorTransferFunction                        *_ctfun;
 //     vtkVolumeRayCastCompositeFunction       *_compositeFunction;
-       vtkPlanes                                               *_volumePlanes;
-       vtkVolumeRayCastMapper          *_volumeMapper;
-       vtkVolumeProperty                               *_volumeProperty;
-       vtkVolume                                               *_newvol;
-       vtkMPRBaseData                                  *_vtkmprbasedata;
+       vtkPlanes                                                       *_volumePlanes;
+       
+#if (VTK_MAJOR_VERSION <= 7) 
+       vtkVolumeRayCastMapper                          *_volumeMapper;
+#else 
+       vtkFixedPointVolumeRayCastMapper        *_volumeMapper;
+#endif
+       
+       
+       vtkVolumeProperty                                       *_volumeProperty;
+       vtkVolume                                                       *_newvol;
+       vtkMPRBaseData                                          *_vtkmprbasedata;
        bool                                                            _visibleVolume;
-   bool                                                                _visibleVolumeBox;
+       bool                                                            _visibleVolumeBox;
        bool                                                            _representationType[VTKMPRDATA_MAXTISSUE];
        bool                                                            _visibleTissue[VTKMPRDATA_MAXTISSUE];
        vtkActor                                                        *_tissue[VTKMPRDATA_MAXTISSUE];
-       boxSurfaceObserver                      *_observerV;
-       boxSurfaceObserver                      *_observerS[VTKMPRDATA_MAXTISSUE];
+       boxSurfaceObserver                                      *_observerV;
+       boxSurfaceObserver                                      *_observerS[VTKMPRDATA_MAXTISSUE];
 
-       std::vector<double>                     greyValuesTransferenceFVector;
-       std::vector<double>                     intensityValuesTransferenceFVector;
-       std::vector<double>                     redColorsOfColorTransferenceFVector;
-       std::vector<double>                     greenColorsOfColorTransferenceFVector;
-       std::vector<double>                     blueColorsOfColorTransferenceFVector;
-       std::vector<double>                     greyValueColorsOfColorTransferenceFVector;
+       std::vector<double>                                     greyValuesTransferenceFVector;
+       std::vector<double>                                     intensityValuesTransferenceFVector;
+       std::vector<double>                                     redColorsOfColorTransferenceFVector;
+       std::vector<double>                                     greenColorsOfColorTransferenceFVector;
+       std::vector<double>                                     blueColorsOfColorTransferenceFVector;
+       std::vector<double>                                     greyValueColorsOfColorTransferenceFVector;
 
+#if (VTK_MAJOR_VERSION <= 7) 
        vtkVolumeRayCastCompositeFunction   *_compositeFunction;
        vtkVolumeRayCastMIPFunction         *_compositeFunctionMIP ;
+#else 
+       // ..
+#endif
+
 
        bool _isRayCasting;
-   bool _isMIP;
+       bool _isMIP;
        bool _interpolation;
        bool _shade;