0024784: Move documentation in CDL files to proper location
[occt.git] / src / TopClass / TopClass_Classifier2d.cdl
1 -- Created on: 1992-11-17
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627
18
19
20 generic class Classifier2d from TopClass 
21         (TheEdge as any;
22          TheIntersector as any)
23
24         ---Purpose: Basic algorithm for 2d classifications.
25
26 uses
27     Lin2d           from gp,
28     CurveTransition from TopTrans,
29     Orientation     from TopAbs,
30     State           from TopAbs
31
32 raises
33     DomainError
34     
35 is
36     Create returns Classifier2d from TopClass;
37         ---Purpose: Creates an undefined classifier.
38         
39     Reset(me : in out; L : Lin2d from gp; P : Real; Tol : Real)
40         ---Purpose: Starts  a  classification process.   The  point to
41         --          classify is the origin of  the  line <L>.  <P>  is
42         --          the original length of the segment on <L>  used to
43         --          compute  intersections.   <Tol> is the   tolerance
44         --          attached to the line segment in intersections.
45     is static;
46     
47     Compare(me : in out; E   : TheEdge;
48                          Or  : Orientation from TopAbs)
49         ---Purpose: Updates  the classification process with  the edge
50         --          <E> from the boundary. 
51     raises
52         DomainError  -- The classifier has not been set
53     is static;
54
55     Parameter(me) returns Real
56         ---Purpose: Returns the current value of the parameter.
57         ---C++: inline
58     is static;
59     
60     Intersector(me : in out) returns TheIntersector
61         ---Purpose: Returns the intersecting algorithm.
62         --          
63         ---C++: inline
64         ---C++: return &
65     is static;
66     
67     ClosestIntersection(me) returns Integer
68         ---Purpose: Returns  0  if  the   last  compared   edge had no
69         --          relevant intersection.  Else returns  the index of
70         --          this   intersection  in the    last   intersection
71         --          algorithm.
72         --          
73         ---C++: inline
74     is static;
75     
76     State(me) returns State from TopAbs
77         ---Purpose: Returns the current state of the point.
78         --          
79         ---C++: inline
80     is static;
81
82 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627 Begin
83     IsHeadOrEnd(me)
84         ---Purpose: Returns the Standard_True if the closest intersection point
85         --          represents head or end of the edge. Returns Standard_False
86         --          otherwise.
87         ---C++: inline 
88     returns Boolean from Standard
89     is static;
90 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627 End
91
92 fields
93
94     myIsSet        : Boolean from Standard;
95     myFirstCompare : Boolean from Standard;
96     myFirstTrans   : Boolean from Standard;
97     myLin          : Lin2d from gp;
98     myParam        : Real from Standard;
99     myTolerance    : Real from Standard;
100     myTrans        : CurveTransition from TopTrans;
101     myIntersector  : TheIntersector;
102     myClosest      : Integer from Standard;
103     myState        : State from TopAbs;
104 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627 Begin 
105     myIsHeadOrEnd  : Boolean from Standard;
106 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627 End
107
108 end Classifier2d;