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
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627
20 generic class Classifier2d from TopClass
22 TheIntersector as any)
24 ---Purpose: Basic algorithm for 2d classifications.
28 CurveTransition from TopTrans,
29 Orientation from TopAbs,
36 Create returns Classifier2d from TopClass;
37 ---Purpose: Creates an undefined classifier.
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.
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.
52 DomainError -- The classifier has not been set
55 Parameter(me) returns Real
56 ---Purpose: Returns the current value of the parameter.
60 Intersector(me : in out) returns TheIntersector
61 ---Purpose: Returns the intersecting algorithm.
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
76 State(me) returns State from TopAbs
77 ---Purpose: Returns the current state of the point.
82 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627 Begin
84 ---Purpose: Returns the Standard_True if the closest intersection point
85 -- represents head or end of the edge. Returns Standard_False
88 returns Boolean from Standard
90 -- Modified by skv - Wed Jul 12 15:15:38 2006 OCC12627 End
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