1 -- File: XSAlgo_AlgoContainer.cdl
2 -- Created: Wed Jan 19 17:49:47 2000
3 -- Author: data exchange team
5 ---Copyright: Matra Datavision 2000
8 class AlgoContainer from XSAlgo inherits TShared from MMgt
20 ToolContainer from XSAlgo,
21 WireData from ShapeExtend,
22 Wire from ShapeAnalysis,
24 TransientProcess from Transfer,
25 FinderProcess from Transfer,
26 ProgressIndicator from Message
30 Create returns mutable AlgoContainer from XSAlgo;
31 ---Purpose: Empty constructor
33 SetToolContainer (me: mutable; TC: ToolContainer from XSAlgo);
35 ---Purpose: Sets ToolContainer
37 ToolContainer (me) returns ToolContainer from XSAlgo;
39 ---Purpose: Returns ToolContainer
42 PrepareForTransfer (me) is virtual;
43 ---Purpose: Performs actions necessary for preparing environment
44 -- for transfer. Empty in Open version.
46 ProcessShape (me; shape:
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
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.
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
78 CheckPCurve (me; edge : Edge from TopoDS;
79 face : Face from TopoDS;
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.
87 MergeTransferInfo (me; TP : TransientProcess from Transfer;
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
100 myTC : ToolContainer from XSAlgo;