Commit | Line | Data |
---|---|---|
7fd59977 | 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 | ||
b485ee79 KD |
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 | |
7fd59977 | 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 | |
b485ee79 | 44 | -- for transfer. Empty in Open version. |
7fd59977 | 45 | |
b485ee79 KD |
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) | |
7fd59977 | 53 | returns Shape from TopoDS is virtual; |
54 | ---Purpose: Does shape processing with specified tolerances | |
55 | -- and returns resulting shape and associated information | |
b485ee79 KD |
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 | |
7fd59977 | 77 | |
78 | CheckPCurve (me; edge : Edge from TopoDS; | |
b485ee79 KD |
79 | face : Face from TopoDS; |
80 | preci : Real; | |
81 | isSeam: Boolean) | |
7fd59977 | 82 | returns Boolean is virtual; |
83 | ---Purpose: Checks quality of pcurve of the edge on the given face, | |
b485ee79 KD |
84 | -- and corrects it if necessary. |
85 | ---Remark : In Open CASCADE does nothing. | |
7fd59977 | 86 | |
87 | MergeTransferInfo (me; TP : TransientProcess from Transfer; | |
b485ee79 KD |
88 | info: Transient; |
89 | startTPitem: Integer = 1) is virtual; | |
7fd59977 | 90 | MergeTransferInfo (me; FP : FinderProcess from Transfer; |
b485ee79 KD |
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 | |
7fd59977 | 97 | |
98 | fields | |
99 | ||
100 | myTC : ToolContainer from XSAlgo; | |
101 | ||
102 | end AlgoContainer; |