0024157: Parallelization of assembly part of BO
[occt.git] / src / IFSelect / IFSelect.cdl
CommitLineData
b311480e 1-- Created on: 1992-09-21
2-- Created by: Christian CAILLET
3-- Copyright (c) 1992-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22
23package IFSelect
24
25 ---Purpose : Gives tools to manage Selecting a group of Entities
26 -- processed by an Interface, for instance to divide up an
27 -- original Model (from a File) to several smaller ones
28 -- They use description of an Interface Model as a graph
29 --
30 -- Remark that this corresponds to the description of a
31 -- "scenario" of sharing out a File. Parts of this Scenario
32 -- are intended to be permanently stored. IFSelect provides
33 -- the Transient, active counterparts (to run the Scenario).
34 -- But a permanent one (either as Persistent Objects or as
35 -- interpretable Text) must be provided elsewhere.
36
37uses MMgt, Standard, Message, TCollection, TColStd,
38 Interface, IFGraph, Dico, MoniTool
39
40is
41
42 deferred class Signature; -- to select an entity according a string (its signature)
43 class SignMultiple; -- liste of signatures
44 class SignType; -- signature = type cdl
45 class SignCategory; -- signature = category
46 class SignValidity; -- signature = validity
47 class SignAncestor; -- signature = type cdl + all ancestors
48
49 class ShareOut;
50 class AppliedModifiers;
51
52 class ShareOutResult;
53 class PacketList;
54
55 deferred class Dispatch;
56 class DispGlobal; -- takes all result in only ONE group
57 class DispPerOne; -- defines one group per selected entity
58 class DispPerCount; -- one group for a count of entities
59 class DispPerSignature; -- groups given by a SignatureList
60 class DispPerFiles; -- a determined count of groups
61 -- Other classes can be added for a specific Interface
62
63 class SelectionIterator;
64
65 deferred class Selection;
66
67 deferred class SelectBase; -- attached directly to the ShareOut :
68 class SelectModelRoots; -- roots knows as such in the model
69 class SelectModelEntities; -- all entities of the model
70 class SelectEntityNumber; -- one entity having a given Number
71 class SelectPointed; -- directly pointed items
72
73 deferred class SelectCombine; -- algebraic operators
74 class SelectUnion; -- "OR" operator between Selections
75 class SelectIntersection; -- "AND" operator between Selections
76 deferred class SelectControl; -- a main list controlled by a second
77 class SelectDiff; -- "Minus" operator between Selections
78
79 deferred class SelectDeduct; -- computed lists :
80 class SelectShared; -- directly shared entities
81 class SelectSharing; -- directly sharing entities
82 deferred class SelectAnyList; -- from a list in an entity
83 deferred class SelectInList; -- from a list of single entities
84 generic class SelectList; -- from an entity as a list
85 class SelectSuite; -- macro-select-deduct
86
87 deferred class SelectExtract; -- sorted lists (can be inverted) :
88 class SelectUnknownEntities;
89 class SelectErrorEntities;
90 class SelectIncorrectEntities; -- (according ComputeCheck)
91 class SelectRoots; -- roots local in a given group
92 class SelectRootComps; -- idem but manages cycles
93 class SelectRange; -- range in a list (from i-th to j-th)
94 deferred class SelectAnyType; -- type to be precised in sub-class
95 class SelectType; -- type given as a parameter
96 class SelectSignature; -- signature matching
97 class SelectFlag; -- flag recorded in the Graph
98 class SelectSent; -- sent/remaining entities to file
99 -- Other classes can be added for a specific Interface
100 -- (in particular, instantiations of SelectType)
101
102 -- Other classes can be added for a specific Interface
103 -- (in particular, instantiations of SelectList)
104 deferred class SelectExplore;
105 class SelectSignedShared; -- shared entities + signature
106 class SelectSignedSharing; -- sharing entities + signature
107
108 class IntParam; -- defines externally accessible integer parameters
109
110 class SignatureList;
111 class CheckCounter;
112 class SignCounter;
113 class GraphCounter;
114
115 deferred class Editor;
116 class ParamEditor;
117
118 class EditForm;
119 class ListEditor;
120
121 class ContextModif; -- (set of data used by Modifiers)
122 class ContextWrite; -- (set of data used by Modifiers)
123 deferred class Transformer; -- frame for data transformations
124 class TransformStandard; -- works with Modifiers
125
126 class ModelCopier; -- performs transfers (to produce files)
127 deferred class GeneralModifier; -- set of criteria for all Modifiers
128 deferred class Modifier; -- defines modifying actions on transferred model
129 class ModifReorder; -- reorder whole model from roots
130 class ModifEditForm; -- applies an EditForm
131 deferred generic class FileModifier; -- defines actions on file sending
132 deferred generic class ModelModifier; -- specific actions on model
133
134 -- -- Session Management -- --
135
136 class WorkSession; -- a set of useful facilities
137 deferred class WorkLibrary; -- capability of user extents
138
139 alias Option is Option from MoniTool; -- pre-defined values for a field
140 alias Profile is Profile from MoniTool; -- set of options bound/piloted together
141
142 class SessionFile;
143 deferred class SessionDumper;
144 class BasicDumper;
145
146 deferred class Activator;
147 class SessionPilot;
148 class Act;
149 primitive ActFunc;
150 class Functions;
151 -- individual functions to be added by Act
152
153 enumeration ReturnStatus is RetVoid, RetDone, RetError, RetFail, RetStop;
154 ---Purpose : Qualifies an execution status :
155 -- RetVoid : normal execution which created nothing, or
156 -- no data to process
157 -- RetDone : normal execution with a result
158 -- RetError : error in command or input data, no execution
159 -- RetFail : execution was run and has failed
160 -- RetStop : indicates end or stop (such as Raise)
161
162 enumeration RemainMode is
163 RemainForget, RemainCompute, RemainDisplay, RemainUndo;
164 -- used to pilot SetRemaining from the WorkSession
165
166 enumeration PrintCount is ItemsByEntity, CountByItem, ShortByItem, ListByItem, EntitiesByItem, CountSummary,
167 GeneralInfo, Mapping, ResultCount;
168
169---Purpose:
170-- Lets you choose the manner in which you want to analyze an
171-- IGES or STEP file. Your analysis can be either message-oriented or
172-- entity-oriented. The specific values are as follows:
173-- - ItemsByEntity is a sequential list of all
174-- messages per entity of the defined type
175-- - CountByItem is the number of entities of the defined
176-- type, with their rank number per message
177-- - ShortByItem is the number of entities of the defined
178-- type, with their types per message; displays the rank
179-- numbers of the first five entities of the defined type
180-- per message
181-- - ListByItem is the number of entities of the defined type
182-- per message and the numbers of the entities
183-- - EntitiesByItem is the number of entities of the
184-- defined type, with their types, rank numbers and
185-- Directory Entry numbers per message
186-- - GeneralInfo is general information on transfer such as:
187-- - number of entities
188-- - number of roots
189-- - number of resulting Open CASCADE shapes
190-- - number of warnings and failures
191-- - CountSummary summary statistics for counters and signatures
192-- - ResultCount information that contains the number of
193-- roots in the IGES file and the number of resulting Open CASCADE shapes.
194 -- - Mapping of the IGES root entities to the resulting Open
195 -- CASCADE shape (including type and form of the IGES entity
196 -- and type of the resulting shape).
197
198 enumeration PrintFail is FailOnly, FailAndWarn;
199 ---Purpose: Indicates whether there will
200-- be information on warnings as well as on failures. The
201-- terms of this enumeration have the following semantics:
202-- - IFSelect_FailOnly gives information on failures only
203-- - IFSelect_FailAndWarn gives information on both
204-- failures and warnings. used to pilot PrintCheckList
205 enumeration EditValue is
206 Optional, Editable, EditProtected, EditComputed, EditRead, EditDynamic;
207 ---Purpose : Controls access on Values by an Editor
208 -- EditOptional : normal access, in addition may be removed
209 -- Editable : normal access, must be present
210 -- EditProtected : access must be validated
211 -- EditComputed : why write it ? it will be recomputed
212 -- EditRead : no way to write it, only for read
213 -- EditDynamic : not a field, only to be displayed
214
215 -- -- Instantiations -- --
216
217 class TSeqOfDispatch instantiates Sequence from TCollection (Dispatch);
218 class TSeqOfSelection instantiates Sequence from TCollection (Selection);
219 class HSeqOfSelection instantiates HSequence from TCollection
220 (Selection,TSeqOfSelection);
221
222 -- the followings sequences are used by ModelCopier (definition or result)
223 class SequenceOfGeneralModifier instantiates Sequence from TCollection
224 (GeneralModifier);
225 class SequenceOfInterfaceModel instantiates Sequence from TCollection
226 (InterfaceModel from Interface);
227 class SequenceOfAppliedModifiers instantiates Sequence from TCollection
228 (AppliedModifiers);
229
230 -- Package Methods --
231
232 SaveSession (WS : any WorkSession; file : CString) returns Boolean;
233 ---Purpose : Saves the state of a WorkSession from IFSelect, by using a
234 -- SessionFile from IFSelect. Returns True if Done, False in
235 -- case of Error on Writing. <file> gives the name of the File
236 -- to be produced (this avoids to export the class SessionFile).
237
238 RestoreSession (WS : mutable WorkSession; file : CString) returns Boolean;
239 ---Purpose : Restore the state of a WorkSession from IFSelect, by using a
240 -- SessionFile from IFSelect. Returns True if Done, False in
241 -- case of Error on Writing. <file> gives the name of the File
242 -- to be used (this avoids to export the class SessionFile).
243
244end IFSelect;