0023533: Unitialized variables used, IntTools_TopolTool.cxx
[occt.git] / src / MAT / MAT_Tool.cdl
1 -- Created on: 1992-09-23
2 -- Created by: Gilles DEBARBOUILLE
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 generic class Tool from MAT (Item as any)
23
24             
25         --- Purpose : Set of the methods useful for the MAT's computation.            
26         -- Warning : To use the algorithm MAT, it's necessary to use four 
27         --            indexed sets (Array,Sequence ...)
28         --              One set contains the geometric definitions of
29         --            the simple composants of the Figure.      
30         --              An other set contains the geometric definitions of
31         --            the bisectors.
32         --              An other set contains the geometric definitions of
33         --            the points created during the MAT's computation.
34         --              An other set contains the geometric definitions of
35         --            the Tangent Vectors to the edge's extremitis.
36         --            
37 uses
38     Bisector from MAT
39
40 is
41
42     Create returns Tool from MAT;
43     
44     NumberOfItems(me) returns Integer
45         --- Purpose : Returns the Number of Items .
46     is static;
47     
48     ToleranceOfConfusion(me) returns Real
49         ---Purpose: Returns tolerance to test the confusion of two points.
50     is static;
51     
52     FirstPoint(me ; anitem :     Integer;
53                     dist   : out Real    ) returns Integer
54         --- Purpose :  Creates the point at the origin of the bisector between
55         --            anitem and the previous  item.
56         --            dist is the distance from the FirstPoint to <anitem>.
57         --            Returns an index.
58     is static;
59     
60     TangentBefore(me ; anitem : Integer) returns Integer
61         --- Purpose : Create the Tangent at the end of the Item defined
62         --            by <anitem>. Returns the index of this vector in
63         --            <theGeomVecs>
64     is static;
65     
66     TangentAfter(me ; anitem : Integer) returns Integer 
67         --- Purpose : Create the Reversed Tangent at the origin of the Item 
68         --            defined by <anitem>. Returns the index of this vector in
69         --            <theGeomVecs>
70     is static;
71     
72     Tangent(me ; bisector : Integer ) returns Integer 
73         --- Purpose : Create the Tangent at the end of the bisector defined
74         --            by <bisector>. Returns the index of this vector in
75         --            <theGeomVecs>
76     is static;
77     
78     CreateBisector(me : in out ; abisector : mutable Bisector from MAT)
79         --- Purpose : Create the geometric bisector defined by <abisector>.
80     is static;
81     
82     TrimBisector(me        : in out ; 
83                  abisector : mutable Bisector from MAT) 
84         --- Purpose : Trim the geometric bisector by the <firstparameter>
85         --            of <abisector>.
86         --            If the parameter is out of the bisector, Return False.
87         --            else Return True.
88     returns Boolean is static;
89     
90     TrimBisector(me        : in out ; 
91                  abisector : mutable Bisector from MAT ;
92                  apoint    : Integer)
93         --- Purpose : Trim the geometric bisector by the point of index
94         --            <apoint> in <theGeomPnts>.
95         --            If the point is out of the bisector, Return False
96         --            else Return True.
97     returns Boolean is static;
98     
99     IntersectBisector(me          : in out ;
100                       bisectorone : mutable Bisector from MAT ;
101                       bisectortwo : mutable Bisector from MAT ;
102                       intpnt      : in out Integer)
103         --- Purpose  : Computes  the point  of  intesection between  the
104         --             bisectors defined  by  <bisectorone>  and  
105         --             <bisectortwo> .
106         --             If this point exists,  <intpnt> is its  index 
107         --             in <theGeomPnts> and Return the distance of the point 
108         --             from the edges separated by the bisectors  else 
109         --             Returns <RealLast>.
110     returns Real is static;
111     
112     Distance(me; 
113              abisector : Bisector from MAT;
114              param1    : Real;
115              param2    : Real)
116         ---Purpose: Returns the distance between the two points designed
117         --          by their parameters on <abisector>.
118     returns Real is static;
119     
120     Dump(me ; 
121          bisector        : Integer ; 
122          erease          : Integer)
123         --- Purpose : display informations about the bisector defined by
124         --            <bisector>.
125     is static;
126     
127 end Tool;
128
129
130
131