0024428: Implementation of LGPL license
[occt.git] / src / XSAlgo / XSAlgo_AlgoContainer.cdl
CommitLineData
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
16class AlgoContainer from XSAlgo inherits TShared from MMgt
17
18 ---Purpose:
19
20uses
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
36is
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
106fields
107
108 myTC : ToolContainer from XSAlgo;
109
110end AlgoContainer;