Salome HOME
Issue 0019818: EDF 703 SMESH VISU : Display Mesh Groups names in viewer (as a caption)
[modules/visu.git] / src / PIPELINE / SALOME_ExtractGeometry.h
index 74c1ec301661b05c926adc3808dbdaa218a40285..93e73d8c7c4fdeca199bec0d79b9c9f401aa6313 100755 (executable)
@@ -1,4 +1,6 @@
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 //
 //  This library is free software; you can redistribute it and/or
 //  License along with this library; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 #ifndef SALOME_ExtractGeometry_H
 #define SALOME_ExtractGeometry_H
 
+#include "VISUPipeline.hxx"
+
 #include <vtkExtractGeometry.h>
 #include <vtkSmartPointer.h>
-#include <vtkImplicitBoolean.h>
 
 #include <vector>
 
-//class vtkImplicitBoolean;
+class vtkImplicitBoolean;
 
-class SALOME_ExtractGeometry : public vtkExtractGeometry
+class VISU_PIPELINE_EXPORT SALOME_ExtractGeometry : public vtkExtractGeometry
 {
 public:
-  vtkTypeMacro(SALOME_ExtractGeometry,vtkExtractGeometry);
+  vtkTypeMacro(SALOME_ExtractGeometry, vtkExtractGeometry);
+
+  static 
+  SALOME_ExtractGeometry*
+  New();
+
+  virtual
+  void
+  SetImplicitFunction(vtkImplicitFunction* theImplicitFunction); 
 
-  static SALOME_ExtractGeometry *New();
+  vtkImplicitBoolean* 
+  GetImplicitBoolean();
 
-  void SetImplicitBoolean(vtkImplicitBoolean* theImplicitBoolean);
-  vtkImplicitBoolean* GetImplicitBoolean() const {
-    return myImplicitBoolean.GetPointer();
-  }
+  bool 
+  GetStoreMapping() const;
 
-  void SetStoreMapping(bool theStoreMapping);
-  bool GetStoreMapping() const {
-    return myStoreMapping;
-  }
+  void
+  SetStoreMapping(bool theStoreMapping);
 
-  virtual vtkIdType GetNodeObjId(int theID);
-  virtual vtkIdType GetElemObjId(int theID);
+  virtual 
+  vtkIdType 
+  GetNodeObjId(vtkIdType theID);
+
+  virtual
+  vtkIdType
+  GetElemObjId(vtkIdType theID);
+
+  virtual
+  vtkIdType
+  GetNodeVTKId(vtkIdType theID);
+
+  virtual
+  vtkIdType
+  GetElemVTKId(vtkIdType theID);
 
 protected:
   SALOME_ExtractGeometry();
   ~SALOME_ExtractGeometry();
 
-  virtual void Execute();
-  void Execute2();
+  // Usual data generation method
+  virtual
+  int
+  RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+
+  virtual
+  int
+  RequestData2(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
 
 private:
   bool myStoreMapping;
+  bool myIsDoneShallowCopy;
+
   typedef std::vector<vtkIdType> TVectorId;
   TVectorId myElemVTK2ObjIds;
   TVectorId myNodeVTK2ObjIds;