0022746: Progress indicator in ShapeHealing
[occt.git] / src / XSAlgo / XSAlgo_AlgoContainer.cdl
1 -- File:        XSAlgo_AlgoContainer.cdl
2 -- Created:     Wed Jan 19 17:49:47 2000
3 -- Author:      data exchange team
4 --              <det@nnov>
5 ---Copyright:    Matra Datavision 2000
6
7
8 class AlgoContainer from XSAlgo inherits TShared from MMgt
9
10     ---Purpose: 
11
12 uses
13
14     Curve             from Geom2d,
15     Surface           from Geom,
16     Edge              from TopoDS,
17     Face              from TopoDS,
18     Shape             from TopoDS,
19     Caller            from XSAlgo,
20     ToolContainer     from XSAlgo,
21     WireData          from ShapeExtend,
22     Wire              from ShapeAnalysis,
23     Wire              from ShapeFix,
24     TransientProcess  from Transfer,
25     FinderProcess     from Transfer,
26     ProgressIndicator from Message
27     
28 is
29
30     Create returns mutable AlgoContainer from XSAlgo;
31         ---Purpose: Empty constructor
32         
33     SetToolContainer (me: mutable; TC: ToolContainer from XSAlgo);
34         ---C++    : inline
35         ---Purpose: Sets ToolContainer
36         
37     ToolContainer (me) returns ToolContainer from XSAlgo;
38         ---C++    : inline
39         ---Purpose: Returns ToolContainer
40         
41
42     PrepareForTransfer (me) is virtual;
43         ---Purpose: Performs actions necessary for preparing environment
44         --          for transfer. Empty in Open version.
45         
46     ProcessShape (me; shape:
47                   Shape from TopoDS; 
48                   Prec, MaxTol: Real;
49                   rscfile: CString;
50                   seq: CString;
51                   info: out Transient;
52                   progress: ProgressIndicator from Message = 0)
53     returns Shape from TopoDS is virtual;
54         ---Purpose: Does shape processing with specified tolerances
55         --          and returns resulting shape and associated information 
56       --          in the form of Transient.
57       --          This information should be later transmitted to 
58       --          MergeTransferInfo in order to be recorded in the
59       --          translation map
60       --
61       ---Default behaviour:
62       --          Applies sequence with name identified by parameter named 
63       --          <seq> (see Interface_Static), defined in resource file
64       --          identified by parameter with name <rscfile>, to shape,
65       --          and keeps info of substitutions made during the process.
66       --          The Prec and MaxTol define run-time parameters 
67       --          Runtime.Tolerance and Runtime.MaxTolerance which can be 
68       --          referred from the resource file
69       --          ("param : &Runtime.Tolerance")
70       --          In the info returns ShapeProcess_ShapeContext with recorded
71       --          modifications. If info has already this type on input, uses it.
72       --
73       --          If resource file is not found, or sequence is not defined 
74       --          there, performs default fixes:
75       --        - if <seq> is write.iges.sequence or write.step.sequence, does DirectFaces
76       --        - if <seq> is read.iges.sequence or read.step.sequence, performs FixShape
77
78     CheckPCurve (me; edge  : Edge from TopoDS;
79                  face  : Face from TopoDS;
80                  preci : Real;
81                  isSeam: Boolean)
82     returns Boolean is virtual;
83         ---Purpose: Checks quality of pcurve of the edge on the given face, 
84       --          and corrects it if necessary.
85       ---Remark : In Open CASCADE does nothing.
86
87     MergeTransferInfo (me; TP : TransientProcess from Transfer;
88                        info: Transient;
89                        startTPitem: Integer = 1) is virtual;
90     MergeTransferInfo (me; FP : FinderProcess from Transfer;
91                        info: Transient) is virtual;
92         ---Purpose: Updates translation map (TP or FP) with information
93         --          resulting from ShapeProcessing
94         --          Parameter startTPitem can be used for optimisation, to
95         --          restrict modifications to entities stored in TP starting
96         --          from item startTPitem
97
98 fields
99
100     myTC : ToolContainer from XSAlgo;
101     
102 end AlgoContainer;