1 // Created on: 1992-08-21 2 // Created by: Christophe MARION 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 #ifndef _HLRAlgo_Intersection_HeaderFile 18 #define _HLRAlgo_Intersection_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_DefineAlloc.hxx> 22 #include <Standard_Handle.hxx> 23 24 #include <TopAbs_Orientation.hxx> 25 #include <Standard_Integer.hxx> 26 #include <Standard_Real.hxx> 27 #include <Standard_ShortReal.hxx> 28 #include <TopAbs_State.hxx> 29 30 31 //! Describes an intersection on an edge to hide. 32 //! Contains a parameter and a state (ON = on the 33 //! face, OUT = above the face, IN = under the Face) 34 class HLRAlgo_Intersection 35 { 36 public: 37 38 DEFINE_STANDARD_ALLOC 39 40 41 Standard_EXPORT HLRAlgo_Intersection(); 42 43 Standard_EXPORT HLRAlgo_Intersection(const TopAbs_Orientation Ori, const Standard_Integer Lev, const Standard_Integer SegInd, const Standard_Integer Ind, const Standard_Real P, const Standard_ShortReal Tol, const TopAbs_State S); 44 45 void Orientation (const TopAbs_Orientation Ori); 46 47 TopAbs_Orientation Orientation() const; 48 49 void Level (const Standard_Integer Lev); 50 51 Standard_Integer Level() const; 52 53 void SegIndex (const Standard_Integer SegInd); 54 55 Standard_Integer SegIndex() const; 56 57 void Index (const Standard_Integer Ind); 58 59 Standard_Integer Index() const; 60 61 void Parameter (const Standard_Real P); 62 63 Standard_Real Parameter() const; 64 65 void Tolerance (const Standard_ShortReal T); 66 67 Standard_ShortReal Tolerance() const; 68 69 void State (const TopAbs_State S); 70 71 TopAbs_State State() const; 72 73 74 75 76 protected: 77 78 79 80 81 82 private: 83 84 85 86 TopAbs_Orientation myOrien; 87 Standard_Integer mySegIndex; 88 Standard_Integer myIndex; 89 Standard_Integer myLevel; 90 Standard_Real myParam; 91 Standard_ShortReal myToler; 92 TopAbs_State myState; 93 94 95 }; 96 97 98 #include <HLRAlgo_Intersection.lxx> 99 100 101 102 103 104 #endif // _HLRAlgo_Intersection_HeaderFile 105