42cf5bc1 |
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 |