0026377: Passing Handle objects as arguments to functions as non-const reference...
[occt.git] / src / IGESSelect / IGESSelect.hxx
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_HeaderFile
18 #define _IGESSelect_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 #include <Standard_Integer.hxx>
25 class IGESData_IGESEntity;
26 class Interface_Graph;
27 class IGESSelect_EditHeader;
28 class IGESSelect_EditDirPart;
29 class IGESSelect_IGESTypeForm;
30 class IGESSelect_IGESName;
31 class IGESSelect_SignStatus;
32 class IGESSelect_SignLevelNumber;
33 class IGESSelect_SignColor;
34 class IGESSelect_CounterOfLevelNumber;
35 class IGESSelect_ViewSorter;
36 class IGESSelect_DispPerSingleView;
37 class IGESSelect_DispPerDrawing;
38 class IGESSelect_SelectVisibleStatus;
39 class IGESSelect_SelectSubordinate;
40 class IGESSelect_SelectLevelNumber;
41 class IGESSelect_SelectName;
42 class IGESSelect_SelectFromSingleView;
43 class IGESSelect_SelectFromDrawing;
44 class IGESSelect_SelectSingleViewFrom;
45 class IGESSelect_SelectDrawingFrom;
46 class IGESSelect_SelectBypassGroup;
47 class IGESSelect_SelectBypassSubfigure;
48 class IGESSelect_SelectBasicGeom;
49 class IGESSelect_SelectFaces;
50 class IGESSelect_SelectPCurves;
51 class IGESSelect_ModelModifier;
52 class IGESSelect_FileModifier;
53 class IGESSelect_FloatFormat;
54 class IGESSelect_AddFileComment;
55 class IGESSelect_UpdateFileName;
56 class IGESSelect_UpdateCreationDate;
57 class IGESSelect_UpdateLastChange;
58 class IGESSelect_SetVersion5;
59 class IGESSelect_SetGlobalParameter;
60 class IGESSelect_AutoCorrect;
61 class IGESSelect_ComputeStatus;
62 class IGESSelect_RebuildDrawings;
63 class IGESSelect_RebuildGroups;
64 class IGESSelect_AddGroup;
65 class IGESSelect_ChangeLevelNumber;
66 class IGESSelect_ChangeLevelList;
67 class IGESSelect_SplineToBSpline;
68 class IGESSelect_RemoveCurves;
69 class IGESSelect_SetLabel;
70 class IGESSelect_WorkLibrary;
71 class IGESSelect_Activator;
72 class IGESSelect_Dumper;
73
74
75 //! This package defines the library of the most used tools for
76 //! IGES Files : Selections & Modifiers specific to the IGES norm,
77 //! and the most needed converters
78 class IGESSelect 
79 {
80 public:
81
82   DEFINE_STANDARD_ALLOC
83
84   
85   //! Simply gives a prompt for a conversational action on standard
86   //! input/output. Returns the status of a
87   Standard_EXPORT static void Run();
88   
89   //! Gives a quick analysis of an IGES Entity in the context of a
90   //! model (i.e. a File) described by a Graph.
91   //! Returned values are :
92   //! <sup> : the most meaningfull super entity, if any (else Null)
93   //! <index> : meaningfull index relating to super entity, if any
94   //! <returned> : a status which helps exploitation of <sup>, by
95   //! giving a case
96   //! (normally, types of <ent> and <sup> should suffice to
97   //! known the case)
98   Standard_EXPORT static Standard_Integer WhatIges (const Handle(IGESData_IGESEntity)& ent, const Interface_Graph& G, Handle(IGESData_IGESEntity)& sup, Standard_Integer& index);
99
100
101
102
103 protected:
104
105
106
107
108
109 private:
110
111
112
113
114 friend class IGESSelect_EditHeader;
115 friend class IGESSelect_EditDirPart;
116 friend class IGESSelect_IGESTypeForm;
117 friend class IGESSelect_IGESName;
118 friend class IGESSelect_SignStatus;
119 friend class IGESSelect_SignLevelNumber;
120 friend class IGESSelect_SignColor;
121 friend class IGESSelect_CounterOfLevelNumber;
122 friend class IGESSelect_ViewSorter;
123 friend class IGESSelect_DispPerSingleView;
124 friend class IGESSelect_DispPerDrawing;
125 friend class IGESSelect_SelectVisibleStatus;
126 friend class IGESSelect_SelectSubordinate;
127 friend class IGESSelect_SelectLevelNumber;
128 friend class IGESSelect_SelectName;
129 friend class IGESSelect_SelectFromSingleView;
130 friend class IGESSelect_SelectFromDrawing;
131 friend class IGESSelect_SelectSingleViewFrom;
132 friend class IGESSelect_SelectDrawingFrom;
133 friend class IGESSelect_SelectBypassGroup;
134 friend class IGESSelect_SelectBypassSubfigure;
135 friend class IGESSelect_SelectBasicGeom;
136 friend class IGESSelect_SelectFaces;
137 friend class IGESSelect_SelectPCurves;
138 friend class IGESSelect_ModelModifier;
139 friend class IGESSelect_FileModifier;
140 friend class IGESSelect_FloatFormat;
141 friend class IGESSelect_AddFileComment;
142 friend class IGESSelect_UpdateFileName;
143 friend class IGESSelect_UpdateCreationDate;
144 friend class IGESSelect_UpdateLastChange;
145 friend class IGESSelect_SetVersion5;
146 friend class IGESSelect_SetGlobalParameter;
147 friend class IGESSelect_AutoCorrect;
148 friend class IGESSelect_ComputeStatus;
149 friend class IGESSelect_RebuildDrawings;
150 friend class IGESSelect_RebuildGroups;
151 friend class IGESSelect_AddGroup;
152 friend class IGESSelect_ChangeLevelNumber;
153 friend class IGESSelect_ChangeLevelList;
154 friend class IGESSelect_SplineToBSpline;
155 friend class IGESSelect_RemoveCurves;
156 friend class IGESSelect_SetLabel;
157 friend class IGESSelect_WorkLibrary;
158 friend class IGESSelect_Activator;
159 friend class IGESSelect_Dumper;
160
161 };
162
163
164
165
166
167
168
169 #endif // _IGESSelect_HeaderFile