1 // Created on: 1993-05-05 2 // Created by: Christian CAILLET 3 // Copyright (c) 1993-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 _IGESSolid_Protocol_HeaderFile 18 #define _IGESSolid_Protocol_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_Type.hxx> 22 23 #include <IGESData_Protocol.hxx> 24 #include <Standard_Integer.hxx> 25 #include <Standard_Type.hxx> 26 class Interface_Protocol; 27 28 29 class IGESSolid_Protocol; 30 DEFINE_STANDARD_HANDLE(IGESSolid_Protocol, IGESData_Protocol) 31 32 //! Description of Protocol for IGESSolid 33 class IGESSolid_Protocol : public IGESData_Protocol 34 { 35 36 public: 37 38 39 Standard_EXPORT IGESSolid_Protocol(); 40 41 //! Gives the count of Resource Protocol. Here, one 42 //! (Protocol from IGESGeom) 43 Standard_EXPORT virtual Standard_Integer NbResources() const Standard_OVERRIDE; 44 45 //! Returns a Resource, given a rank. 46 Standard_EXPORT virtual Handle(Interface_Protocol) Resource (const Standard_Integer num) const Standard_OVERRIDE; 47 48 //! Returns a Case Number, specific of each recognized Type 49 //! This Case Number is then used in Libraries : the various 50 //! Modules attached to this class of Protocol must use them 51 //! in accordance (for a given value of TypeNumber, they must 52 //! consider the same Type as the Protocol defines) 53 Standard_EXPORT virtual Standard_Integer TypeNumber (const Handle(Standard_Type)& atype) const Standard_OVERRIDE; 54 55 56 57 58 DEFINE_STANDARD_RTTIEXT(IGESSolid_Protocol,IGESData_Protocol) 59 60 protected: 61 62 63 64 65 private: 66 67 68 69 70 }; 71 72 73 74 75 76 77 78 #endif // _IGESSolid_Protocol_HeaderFile 79