Commit | Line | Data |
---|---|---|
b311480e | 1 | -- Created on: 2000-01-19 |
2 | -- Created by: data exchange team | |
973c2be1 | 3 | -- Copyright (c) 2000-2014 OPEN CASCADE SAS |
b311480e | 4 | -- |
973c2be1 | 5 | -- This file is part of Open CASCADE Technology software library. |
b311480e | 6 | -- |
973c2be1 | 7 | -- This library is free software; you can redistribute it and / or modify it |
8 | -- under the terms of the GNU Lesser General Public version 2.1 as published | |
9 | -- by the Free Software Foundation, with special exception defined in the file | |
10 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT | |
11 | -- distribution for complete text of the license and disclaimer of any warranty. | |
b311480e | 12 | -- |
973c2be1 | 13 | -- Alternatively, this file may be used under the terms of Open CASCADE |
14 | -- commercial license or contractual agreement. | |
7fd59977 | 15 | |
16 | class AlgoContainer from XSAlgo inherits TShared from MMgt | |
17 | ||
18 | ---Purpose: | |
19 | ||
20 | uses | |
21 | ||
b485ee79 KD |
22 | Curve from Geom2d, |
23 | Surface from Geom, | |
24 | Edge from TopoDS, | |
25 | Face from TopoDS, | |
26 | Shape from TopoDS, | |
27 | Caller from XSAlgo, | |
28 | ToolContainer from XSAlgo, | |
29 | WireData from ShapeExtend, | |
30 | Wire from ShapeAnalysis, | |
31 | Wire from ShapeFix, | |
32 | TransientProcess from Transfer, | |
33 | FinderProcess from Transfer, | |
34 | ProgressIndicator from Message | |
7fd59977 | 35 | |
36 | is | |
37 | ||
38 | Create returns mutable AlgoContainer from XSAlgo; | |
39 | ---Purpose: Empty constructor | |
40 | ||
41 | SetToolContainer (me: mutable; TC: ToolContainer from XSAlgo); | |
42 | ---C++ : inline | |
43 | ---Purpose: Sets ToolContainer | |
44 | ||
45 | ToolContainer (me) returns ToolContainer from XSAlgo; | |
46 | ---C++ : inline | |
47 | ---Purpose: Returns ToolContainer | |
48 | ||
49 | ||
50 | PrepareForTransfer (me) is virtual; | |
51 | ---Purpose: Performs actions necessary for preparing environment | |
b485ee79 | 52 | -- for transfer. Empty in Open version. |
7fd59977 | 53 | |
b485ee79 KD |
54 | ProcessShape (me; shape: |
55 | Shape from TopoDS; | |
56 | Prec, MaxTol: Real; | |
57 | rscfile: CString; | |
58 | seq: CString; | |
59 | info: out Transient; | |
60 | progress: ProgressIndicator from Message = 0) | |
7fd59977 | 61 | returns Shape from TopoDS is virtual; |
62 | ---Purpose: Does shape processing with specified tolerances | |
63 | -- and returns resulting shape and associated information | |
b485ee79 KD |
64 | -- in the form of Transient. |
65 | -- This information should be later transmitted to | |
66 | -- MergeTransferInfo in order to be recorded in the | |
67 | -- translation map | |
68 | -- | |
69 | ---Default behaviour: | |
70 | -- Applies sequence with name identified by parameter named | |
71 | -- <seq> (see Interface_Static), defined in resource file | |
72 | -- identified by parameter with name <rscfile>, to shape, | |
73 | -- and keeps info of substitutions made during the process. | |
74 | -- The Prec and MaxTol define run-time parameters | |
75 | -- Runtime.Tolerance and Runtime.MaxTolerance which can be | |
76 | -- referred from the resource file | |
77 | -- ("param : &Runtime.Tolerance") | |
78 | -- In the info returns ShapeProcess_ShapeContext with recorded | |
79 | -- modifications. If info has already this type on input, uses it. | |
80 | -- | |
81 | -- If resource file is not found, or sequence is not defined | |
82 | -- there, performs default fixes: | |
83 | -- - if <seq> is write.iges.sequence or write.step.sequence, does DirectFaces | |
84 | -- - if <seq> is read.iges.sequence or read.step.sequence, performs FixShape | |
7fd59977 | 85 | |
86 | CheckPCurve (me; edge : Edge from TopoDS; | |
b485ee79 KD |
87 | face : Face from TopoDS; |
88 | preci : Real; | |
89 | isSeam: Boolean) | |
7fd59977 | 90 | returns Boolean is virtual; |
91 | ---Purpose: Checks quality of pcurve of the edge on the given face, | |
b485ee79 KD |
92 | -- and corrects it if necessary. |
93 | ---Remark : In Open CASCADE does nothing. | |
7fd59977 | 94 | |
95 | MergeTransferInfo (me; TP : TransientProcess from Transfer; | |
b485ee79 KD |
96 | info: Transient; |
97 | startTPitem: Integer = 1) is virtual; | |
7fd59977 | 98 | MergeTransferInfo (me; FP : FinderProcess from Transfer; |
b485ee79 KD |
99 | info: Transient) is virtual; |
100 | ---Purpose: Updates translation map (TP or FP) with information | |
101 | -- resulting from ShapeProcessing | |
102 | -- Parameter startTPitem can be used for optimisation, to | |
103 | -- restrict modifications to entities stored in TP starting | |
104 | -- from item startTPitem | |
7fd59977 | 105 | |
106 | fields | |
107 | ||
108 | myTC : ToolContainer from XSAlgo; | |
109 | ||
110 | end AlgoContainer; |