1 // Created on: 1994-05-31 2 // Created by: Christian CAILLET 3 // Copyright (c) 1994-1999 Matra Datavision 4 // Copyright (c) 1999-2014 OPEN CASCADE SAS 5 // 6 // This file is part of Open CASCADE Technology software library. 7 // 8 // This library is free software; you can redistribute it and/or modify it under 9 // the terms of the GNU Lesser General Public License version 2.1 as published 10 // by the Free Software Foundation, with special exception defined in the file 11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 12 // distribution for complete text of the license and disclaimer of any warranty. 13 // 14 // Alternatively, this file may be used under the terms of Open CASCADE 15 // commercial license or contractual agreement. 16 17 #ifndef _IGESSelect_SelectLevelNumber_HeaderFile 18 #define _IGESSelect_SelectLevelNumber_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_Type.hxx> 22 23 #include <IFSelect_SelectExtract.hxx> 24 #include <Standard_Boolean.hxx> 25 #include <Standard_Integer.hxx> 26 class IFSelect_IntParam; 27 class Standard_Transient; 28 class Interface_InterfaceModel; 29 class TCollection_AsciiString; 30 31 32 class IGESSelect_SelectLevelNumber; 33 DEFINE_STANDARD_HANDLE(IGESSelect_SelectLevelNumber, IFSelect_SelectExtract) 34 35 //! This selection looks at Level Number of IGES Entities : 36 //! it considers items attached, either to a single level with a 37 //! given value, or to a level list which contains this value 38 //! 39 //! Level = 0 means entities not attached to any level 40 //! 41 //! Remark : the class CounterOfLevelNumber gives information 42 //! about present levels in a file. 43 class IGESSelect_SelectLevelNumber : public IFSelect_SelectExtract 44 { 45 46 public: 47 48 49 //! Creates a SelectLevelNumber, with no Level criterium : see 50 //! SetLevelNumber. Empty, this selection filters nothing. 51 Standard_EXPORT IGESSelect_SelectLevelNumber(); 52 53 //! Sets a Parameter as Level criterium 54 Standard_EXPORT void SetLevelNumber (const Handle(IFSelect_IntParam)& levnum); 55 56 //! Returns the Level criterium. NullHandle if not yet set 57 //! (interpreted as Level = 0 : no level number attached) 58 Standard_EXPORT Handle(IFSelect_IntParam) LevelNumber() const; 59 60 //! Returns True if <ent> is an IGES Entity with Level Number 61 //! admits the criterium (= value if single level, or one of the 62 //! attached level numbers = value if level list) 63 Standard_EXPORT Standard_Boolean Sort (const Standard_Integer rank, const Handle(Standard_Transient)& ent, const Handle(Interface_InterfaceModel)& model) const Standard_OVERRIDE; 64 65 //! Returns the Selection criterium : 66 //! "IGES Entity, Level Number admits <nn>" (if nn > 0) or 67 //! "IGES Entity attached to no Level" (if nn = 0) 68 Standard_EXPORT TCollection_AsciiString ExtractLabel() const Standard_OVERRIDE; 69 70 71 72 73 DEFINE_STANDARD_RTTIEXT(IGESSelect_SelectLevelNumber,IFSelect_SelectExtract) 74 75 protected: 76 77 78 79 80 private: 81 82 83 Handle(IFSelect_IntParam) thelevnum; 84 85 86 }; 87 88 89 90 91 92 93 94 #endif // _IGESSelect_SelectLevelNumber_HeaderFile 95