1 // Created on: 1992-09-21
2 // Created by: Christian CAILLET
3 // Copyright (c) 1992-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
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.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _IFSelect_HeaderFile
18 #define _IFSelect_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <Standard_Boolean.hxx>
25 #include <Standard_CString.hxx>
26 class IFSelect_WorkSession;
29 //! Gives tools to manage Selecting a group of Entities
30 //! processed by an Interface, for instance to divide up an
31 //! original Model (from a File) to several smaller ones
32 //! They use description of an Interface Model as a graph
34 //! Remark that this corresponds to the description of a
35 //! "scenario" of sharing out a File. Parts of this Scenario
36 //! are intended to be permanently stored. IFSelect provides
37 //! the Transient, active counterparts (to run the Scenario).
38 //! But a permanent one (either as Persistent Objects or as
39 //! interpretable Text) must be provided elsewhere.
47 //! Saves the state of a WorkSession from IFSelect, by using a
48 //! SessionFile from IFSelect. Returns True if Done, False in
49 //! case of Error on Writing. <file> gives the name of the File
50 //! to be produced (this avoids to export the class SessionFile).
51 Standard_EXPORT static Standard_Boolean SaveSession (const Handle(IFSelect_WorkSession)& WS, const Standard_CString file);
53 //! Restore the state of a WorkSession from IFSelect, by using a
54 //! SessionFile from IFSelect. Returns True if Done, False in
55 //! case of Error on Writing. <file> gives the name of the File
56 //! to be used (this avoids to export the class SessionFile).
57 Standard_EXPORT static Standard_Boolean RestoreSession (const Handle(IFSelect_WorkSession)& WS, const Standard_CString file);
73 friend class IFSelect_Signature;
74 friend class IFSelect_SignMultiple;
75 friend class IFSelect_SignType;
76 friend class IFSelect_SignCategory;
77 friend class IFSelect_SignValidity;
78 friend class IFSelect_SignAncestor;
79 friend class IFSelect_ShareOut;
80 friend class IFSelect_AppliedModifiers;
81 friend class IFSelect_ShareOutResult;
82 friend class IFSelect_PacketList;
83 friend class IFSelect_Dispatch;
84 friend class IFSelect_DispGlobal;
85 friend class IFSelect_DispPerOne;
86 friend class IFSelect_DispPerCount;
87 friend class IFSelect_DispPerSignature;
88 friend class IFSelect_DispPerFiles;
89 friend class IFSelect_SelectionIterator;
90 friend class IFSelect_Selection;
91 friend class IFSelect_SelectBase;
92 friend class IFSelect_SelectModelRoots;
93 friend class IFSelect_SelectModelEntities;
94 friend class IFSelect_SelectEntityNumber;
95 friend class IFSelect_SelectPointed;
96 friend class IFSelect_SelectCombine;
97 friend class IFSelect_SelectUnion;
98 friend class IFSelect_SelectIntersection;
99 friend class IFSelect_SelectControl;
100 friend class IFSelect_SelectDiff;
101 friend class IFSelect_SelectDeduct;
102 friend class IFSelect_SelectShared;
103 friend class IFSelect_SelectSharing;
104 friend class IFSelect_SelectAnyList;
105 friend class IFSelect_SelectInList;
106 friend class IFSelect_SelectSuite;
107 friend class IFSelect_SelectExtract;
108 friend class IFSelect_SelectUnknownEntities;
109 friend class IFSelect_SelectErrorEntities;
110 friend class IFSelect_SelectIncorrectEntities;
111 friend class IFSelect_SelectRoots;
112 friend class IFSelect_SelectRootComps;
113 friend class IFSelect_SelectRange;
114 friend class IFSelect_SelectAnyType;
115 friend class IFSelect_SelectType;
116 friend class IFSelect_SelectSignature;
117 friend class IFSelect_SelectFlag;
118 friend class IFSelect_SelectSent;
119 friend class IFSelect_SelectExplore;
120 friend class IFSelect_SelectSignedShared;
121 friend class IFSelect_SelectSignedSharing;
122 friend class IFSelect_IntParam;
123 friend class IFSelect_SignatureList;
124 friend class IFSelect_CheckCounter;
125 friend class IFSelect_SignCounter;
126 friend class IFSelect_GraphCounter;
127 friend class IFSelect_Editor;
128 friend class IFSelect_ParamEditor;
129 friend class IFSelect_EditForm;
130 friend class IFSelect_ListEditor;
131 friend class IFSelect_ContextModif;
132 friend class IFSelect_ContextWrite;
133 friend class IFSelect_Transformer;
134 friend class IFSelect_TransformStandard;
135 friend class IFSelect_ModelCopier;
136 friend class IFSelect_GeneralModifier;
137 friend class IFSelect_Modifier;
138 friend class IFSelect_ModifReorder;
139 friend class IFSelect_ModifEditForm;
140 friend class IFSelect_FileModifier;
141 friend class IFSelect_ModelModifier;
142 friend class IFSelect_WorkSession;
143 friend class IFSelect_WorkLibrary;
144 friend class IFSelect_SessionFile;
145 friend class IFSelect_SessionDumper;
146 friend class IFSelect_BasicDumper;
147 friend class IFSelect_Activator;
148 friend class IFSelect_SessionPilot;
149 friend class IFSelect_Act;
150 friend class IFSelect_Functions;
160 #endif // _IFSelect_HeaderFile