e4b3d36788eae3edcf5b81abf83f97f67da99e49
[occt.git] / src / ChFi2d / ChFi2d.cdl
1 -- Created on: 1995-06-12
2 -- Created by: Joelle CHAUVET
3 -- Copyright (c) 1995-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 -- Modified:    Tue Oct 15 10:12:02 1996
22 --              Add ChFi2d_TangencyError (PRO3529)
23 -- Modified:    Tue Oct 22 09:23:11 1996
24 --              Add ChFi2d_FirstEdgeDegenerated, ChFi2d_LastEdgeDegenerated,
25 --              ChFi2d_BothEdgesDegenerated (PRO4896)
26 -- Modified:    Fri Sep 25 09:38:04 1998
27 --              ChFi2d_NotAuthorized is used if the edges are not
28 --              lines or circles (BUC60288)
29
30 package ChFi2d 
31
32         ---Purpose: This package contains the algorithms used to build
33         --          fillets or chamfers on planar wire.
34
35 uses
36     TopoDS,
37     TopTools,
38     gp
39
40 is
41     
42     enumeration ConstructionError is
43         ---Purpose: error     that    can   occur       during   the
44         --          fillet  construction on planar wire
45         NotPlanar,
46             ---Purpose: the face is not planar
47         NoFace,
48             ---Purpose: the face is null
49         InitialisationError,
50             ---Purpose: the two  faces used for the initialisation are
51             --          uncompatible.
52         ParametersError,
53             ---Purpose: the  parameters  as  distances   or  angle for
54             --          chamfer are less or equal to zero.
55         Ready,
56             ---Purpose: the initialization has been succesfull.
57         IsDone,
58         ComputationError,
59             ---Purpose: the algorithm could not find a solution.
60         ConnexionError,
61             ---Purpose: the vertex given  to locate the fillet  or the
62             --          chamfer  is not connected to 2 edges.
63         TangencyError,
64             ---Purpose: the two edges connected to the vertex are tangent.
65
66  
67         FirstEdgeDegenerated,
68             ---Purpose: the first edge is degenerated.
69         LastEdgeDegenerated,
70             ---Purpose: the last edge is degenerated.
71         BothEdgesDegenerated,
72             ---Purpose: the two edges are degenerated.
73         NotAuthorized
74             ---Purpose: One or the two  edges connected to the  vertex
75             --          is a fillet or a chamfer
76             --          One or the two  edges connected to the  vertex
77             --          is not a line or a circle
78         
79     end ConstructionError;
80
81
82     class Builder;
83
84
85     CommonVertex( E1, E2 :     Edge   from TopoDS; 
86                   V      : out Vertex from TopoDS)
87     returns Boolean
88     is private;
89         ---Warning: <V> has sense only if the value <True> is returned    
90
91
92     FindConnectedEdges( F      :     Face   from TopoDS;
93                         V      :     Vertex from TopoDS;
94                         E1, E2 : out Edge   from TopoDS)
95     returns ConstructionError from ChFi2d
96     is private;
97
98         ---Warning: <E1> and <E2> has sense only if the returned value
99         --          is <IsDone>
100
101
102 end ChFi2d;
103
104
105
106
107
108