Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IntCurveSurface / IntCurveSurface_Polygon.cdl
1 -- File:        Polygon.cdl
2 -- Created:     Mon Oct 19 11:51:16 1992
3 -- Author:      Laurent BUCHARD
4 --              <lbr@sdsun2>
5 ---Copyright:    Matra Datavision 1992
6
7
8 generic class Polygon from IntCurveSurface ( 
9     TheCurve         as any;
10     TheCurveTool     as any) 
11
12         ---Purpose: Describe a polyline  as  a topology to compute the
13         --          interference beetween two polylines 2 dimension.
14                   
15
16 uses    Pnt              from gp,
17         Box              from Bnd,
18         Array1OfPnt      from TColgp,
19         Array1OfReal     from TColStd, 
20         HArray1OfReal    from TColStd
21
22
23 raises  OutOfRange from Standard
24
25
26 is  
27
28     Create         (Curve       : TheCurve;
29                     NbPnt       : Integer  from Standard)
30                     
31                     returns Polygon from IntCurveSurface;
32
33     Create         (Curve       : TheCurve;
34                     U1,U2       : Real from Standard;
35                     NbPnt       : Integer  from Standard)
36                     
37                     returns Polygon from IntCurveSurface;
38
39     Create         (Curve       : TheCurve;
40                     Upars       : Array1OfReal from TColStd)
41                     
42                     returns Polygon from IntCurveSurface;
43
44     Init           (me:in out;
45                     Curve       : TheCurve)
46     
47                     is static protected;
48  
49     Init           (me:in out;
50                     Curve       : TheCurve;
51                     Upars       : Array1OfReal from TColStd)
52     
53                     is static protected;
54
55
56     Bounding       (me)
57                     returns Box from Bnd
58                     ---C++: return const &
59                     ---C++: inline
60                     is static;
61     ---Purpose: Give the bounding box of the polygon.
62
63     DeflectionOverEstimation(me)
64                    returns Real from Standard
65                    ---C++: inline
66                    is static;
67           
68
69     SetDeflectionOverEstimation(me: in out; x:Real from Standard)
70                     ---C++: inline
71                     is static;
72
73     Closed         (me : in out; clos : Boolean from Standard)
74                     ---C++: inline
75                     is static;
76
77     Closed         (me)
78                     returns Boolean from Standard
79                     ---C++: inline
80                     is static;
81
82     NbSegments     (me)
83                     returns Integer
84                     ---C++: inline
85                     is static;
86     ---Purpose: Give the number of Segments in the polyline.
87     
88     BeginOfSeg     (me;
89                     Index : in Integer)
90                     returns Pnt from gp
91                     raises OutOfRange from Standard
92                     ---C++: return const &
93                     ---C++: inline
94                     is static;
95     ---Purpose: Give the point of range Index in the Polygon. 
96
97     EndOfSeg       (me;
98                     Index : in Integer)
99                     returns Pnt from gp
100                     raises OutOfRange from Standard
101                     ---C++: return const &
102                     ---C++: inline
103                     is static;
104     ---Purpose: Give the point of range Index in the Polygon. 
105
106 -- Implementation : 
107
108
109    InfParameter(me) 
110    
111         ---Purpose: Returns the parameter (On the curve)
112         --          of the first point of the Polygon
113    
114         returns Real from Standard
115         ---C++: inline
116         is static;
117
118    SupParameter(me) 
119
120         ---Purpose: Returns the parameter (On the curve)
121         --          of the last point of the Polygon
122    
123    
124         returns Real from Standard
125         ---C++: inline
126         is static;
127
128
129    ApproxParamOnCurve(me; 
130                       Index       : in  Integer from Standard;
131                       ParamOnLine : in  Real    from Standard)
132                       
133                       returns Real      from Standard
134                      
135                       raises OutOfRange from Standard
136                       is static;
137
138     ---Purpose: Give an approximation of the parameter on the curve 
139     --          according to the discretization of the Curve.
140                  
141         
142
143                                                  
144 -- Test needings :   
145
146
147     
148     Dump           (me)
149                     is static;
150
151
152 fields  TheBnd        : Box                  from Bnd;
153         TheDeflection : Real                 from Standard;
154         NbPntIn       : Integer              from Standard;
155         ThePnts       : Array1OfPnt          from TColgp;
156         ClosedPolygon : Boolean              from Standard;
157         
158         --- To compute an approximate parameter on the Curve
159         --  
160         Binf          : Real                 from Standard;
161         Bsup          : Real                 from Standard; 
162          
163         myParams      : HArray1OfReal        from TColStd;
164
165 end Polygon;