]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h
#2864 creaMaracasVisu Feature New Normal - Manual Paint , modifies external image...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / ManualPaintModel.h
index 75dd16e04ea7540717c9c71e0b4b7ac5acd0b862..1a552e73f4e00f376ad9632b2a82d410e361c2f6 100644 (file)
@@ -1,54 +1,73 @@
+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+#                        pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and
+#  abiding by the rules of distribution of free software. You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL-B
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
 #ifndef _MANUAL_PAINT_MODEL_H_
 #define _MANUAL_PAINT_MODEL_H_
 
-#include <vtkImageData.h>
+#include "BrushFilter.h"
+#include "FillFilter.h"
+
+//#include "regionStructUR.h"
+//#include "imageUndoRedo.h"
+
+#include "imageModificationManager.h"
+#include "imageUndoRedo.h"
 
 
-class ManualPaintModel  {
+class ManualPaintModel {
 public:
        ManualPaintModel();
        virtual ~ManualPaintModel();
 
-    void SetImage(vtkImageData *image);
-    void PaintImage(int px,int py, int pz);
-    void SetBrushSize( int brushsize );
-    void SetBrushForm( int brushform );
-    void SetBrushTool( int brushtool );
-    void Set2D3D( int dim2D3D );
-    void SetGrayLevel( double graylevel );
-
-    void FillTool(int px,int py, int pz);
-    void FillToolRecursive(int px,int py, int pz);
-
-    void BrushTool(int px,int py, int pz);
-    void SetToleranceFill(double tolerancefill);
-    void SetDistanceFill(int distancefill);
+       void SetActive(bool active);
+       void SetTool(int tool);
+       void Set2D3D(int dim2D3D);
+       void SetImages(vtkImageData *image,vtkImageData *image2);
+       void SetGrayLevel(double graylevel);
+       void SetDirection(int direction);
+       void SetBrushSize(int brushsize);
+       void SetBrushForm(int brushform);
+       void SetToleranceFill(double tolerancefill);
+       void SetDistanceFill(int distancefill);
+       void PaintImage(int px, int py, int pz);
+       void SetRangeMin(int min);
+       void SetRangeMax(int max);
+       void GetScalarRange(double * range);
+       void SetUndoImage(); //DFCH
+       void Undo(); //DFCH
+       void Redo(); //DFCH
 
 private:
-    vtkImageData    *_image;
-    int             _minX;
-    int             _maxX;
-    int             _minY;
-    int             _maxY;
-    int             _minZ;
-    int             _maxZ;
-    int             _brushsize;
-    int             _brushform;
-    int             _brushtool;
-    bool            _2D3D;
-    double          _graylevel;
-    double          _tolerancefill;
-    int             _distancefill;
-    double          _graylevelbasefill;
-
-    int             _pxfill;
-    int             _pyfill;
-    int             _pzfill;
-    double          _distbasefill;
+       int _tool;
+       bool _active;
+       BrushFilter *_brushfilter;
+       FillFilter *_fillfilter;
+       ImageUndoRedo *_imageUndoRedo;
 
 protected:
 
 };
 
-
 #endif // _MANUAL_PAINT_MODEL_H_