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 _IGESData_Protocol_HeaderFile
18 #define _IGESData_Protocol_HeaderFile
19 
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
22 
23 #include <Interface_Protocol.hxx>
24 #include <Standard_Integer.hxx>
25 #include <Standard_Type.hxx>
26 #include <Standard_Boolean.hxx>
27 class Interface_Protocol;
28 class Interface_InterfaceModel;
29 class Standard_Transient;
30 
31 
32 class IGESData_Protocol;
33 DEFINE_STANDARD_HANDLE(IGESData_Protocol, Interface_Protocol)
34 
35 //! Description of basic Protocol for IGES
36 //! This comprises treatement of IGESModel and Recognition of
37 //! Undefined-FreeFormat-Entity
38 class IGESData_Protocol : public Interface_Protocol
39 {
40 
41 public:
42 
43 
44   Standard_EXPORT IGESData_Protocol();
45 
46   //! Gives the count of Resource Protocol. Here, none
47   Standard_EXPORT Standard_Integer NbResources() const Standard_OVERRIDE;
48 
49   //! Returns a Resource, given a rank. Here, none
50   Standard_EXPORT Handle(Interface_Protocol) Resource (const Standard_Integer num) const Standard_OVERRIDE;
51 
52   //! Returns a Case Number, specific of each recognized Type
53   //! Here, Undefined and Free Format Entities have the Number 1.
54   Standard_EXPORT Standard_Integer TypeNumber (const Handle(Standard_Type)& atype) const Standard_OVERRIDE;
55 
56   //! Creates an empty Model for IGES Norm
57   Standard_EXPORT Handle(Interface_InterfaceModel) NewModel() const Standard_OVERRIDE;
58 
59   //! Returns True if <model> is a Model of IGES Norm
60   Standard_EXPORT Standard_Boolean IsSuitableModel (const Handle(Interface_InterfaceModel)& model) const Standard_OVERRIDE;
61 
62   //! Creates a new Unknown Entity for IGES (UndefinedEntity)
63   Standard_EXPORT Handle(Standard_Transient) UnknownEntity() const Standard_OVERRIDE;
64 
65   //! Returns True if <ent> is an Unknown Entity for the Norm, i.e.
66   //! Type UndefinedEntity, status Unknown
67   Standard_EXPORT Standard_Boolean IsUnknownEntity (const Handle(Standard_Transient)& ent) const Standard_OVERRIDE;
68 
69 
70 
71 
72   DEFINE_STANDARD_RTTIEXT(IGESData_Protocol,Interface_Protocol)
73 
74 protected:
75 
76 
77 
78 
79 private:
80 
81 
82 
83 
84 };
85 
86 
87 
88 
89 
90 
91 
92 #endif // _IGESData_Protocol_HeaderFile
93