Salome HOME
Fix global links to local for correct work on any station
[modules/geom.git] / src / GEOMFiltersSelection / GEOM_ShapeTypeFilter.hxx
index 4c62f026d2121fc59f16ed5f9e7fbb89af13983a..5af6de182824cda601d5669452c73baa8b3507c8 100644 (file)
@@ -1,18 +1,29 @@
-// File generated by CPPExt (Transient)
+//  GEOM GEOMFiltersSelection : filter selector for the viewer
 //
-//                     Copyright (C) 1991,1995 by
-//  
-//                      MATRA DATAVISION, FRANCE
-//  
-// This software is furnished in accordance with the terms and conditions
-// of the contract and with the inclusion of the above copyright notice.
-// This software or any other copy thereof may not be provided or otherwise
-// be made available to any other person. No title to an ownership of the
-// software is hereby transferred.
-//  
-// At the termination of the contract, the software and all copies of this
-// software must be deleted.
+//  Copyright (C) 2003  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 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+//
+//
+//  File   : GEOM_ShapeTypeFilter.hxx
+//  Module : GEOM
+
 #ifndef _GEOM_ShapeTypeFilter_HeaderFile
 #define _GEOM_ShapeTypeFilter_HeaderFile
 
 
 #include "SALOME_InteractiveObject.hxx"
 #include "SALOME_Filter.hxx"
+#include "SALOME_TypeFilter.hxx"
 
 // IDL Headers
 #include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(GEOM_Shape)
 #include CORBA_SERVER_HEADER(GEOM_Gen)
 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
 
 #include <Standard.hxx>
 #include <TopAbs.hxx>
 #include <TopoDS_Shape.hxx>
+#include <TColStd_MapOfInteger.hxx>
 
-class GEOM_ShapeTypeFilter : public SALOME_Filter {
+class GEOM_ShapeTypeFilter : public SALOME_Filter
+{
 
 public:
 
@@ -50,45 +63,38 @@ public:
       { 
         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
       }
-//    inline void  operator delete(void *anAddress, size_t size) 
-//      { 
-//        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
-//      }
  // Methods PUBLIC
- // 
-Standard_EXPORT GEOM_ShapeTypeFilter(TopAbs_ShapeEnum ShapeType,
-                                    GEOM::GEOM_Gen_ptr geom);
-Standard_EXPORT virtual  Standard_Boolean IsOk(const Handle(SALOME_InteractiveObject)& anobj) const;
+ //
+Standard_EXPORT GEOM_ShapeTypeFilter( const TopAbs_ShapeEnum theShapeType,
+                                      const bool theIsAll = false );
+Standard_EXPORT GEOM_ShapeTypeFilter( const TColStd_MapOfInteger& theShapeTypes,
+                                      const bool theIsAll = false );
 Standard_EXPORT ~GEOM_ShapeTypeFilter();
 
-
+Standard_EXPORT virtual  Standard_Boolean IsOk(const Handle(SALOME_InteractiveObject)& anobj) const;
 
 
  // Type management
  //
  Standard_EXPORT friend Handle_Standard_Type& GEOM_ShapeTypeFilter_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
- Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
+ Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
  // Methods PROTECTED
- // 
+ //
+ Standard_EXPORT virtual Standard_Boolean IsShapeOk(const TopoDS_Shape& theShape ) const;
 
 
  // Fields PROTECTED
  //
-TopAbs_ShapeEnum myKind;
-GEOM::GEOM_Gen_var myComponentGeom;
+TColStd_MapOfInteger myShapeTypes;
+Handle(SALOME_TypeFilter) myTypeFilter;
 
 private: 
 
- // Methods PRIVATE
- // 
-
-
- // Fields PRIVATE
- //
+ bool myIsAll;
 
 
 };