1 // Created on: 1993-10-29 2 // Created by: Jean Marc LACHAUME 3 // Copyright (c) 1993-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 _HatchGen_IntersectionPoint_HeaderFile 18 #define _HatchGen_IntersectionPoint_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_DefineAlloc.hxx> 22 #include <Standard_Handle.hxx> 23 24 #include <Standard_Integer.hxx> 25 #include <Standard_Real.hxx> 26 #include <TopAbs_Orientation.hxx> 27 #include <TopAbs_State.hxx> 28 #include <Standard_Boolean.hxx> 29 30 31 32 class HatchGen_IntersectionPoint 33 { 34 public: 35 36 DEFINE_STANDARD_ALLOC 37 38 39 //! Sets the index of the supporting curve. 40 Standard_EXPORT void SetIndex (const Standard_Integer Index); 41 42 //! Returns the index of the supporting curve. 43 Standard_EXPORT Standard_Integer Index() const; 44 45 //! Sets the parameter on the curve. 46 Standard_EXPORT void SetParameter (const Standard_Real Parameter); 47 48 //! Returns the parameter on the curve. 49 Standard_EXPORT Standard_Real Parameter() const; 50 51 //! Sets the position of the point on the curve. 52 Standard_EXPORT void SetPosition (const TopAbs_Orientation Position); 53 54 //! Returns the position of the point on the curve. 55 Standard_EXPORT TopAbs_Orientation Position() const; 56 57 //! Sets the transition state before the intersection. 58 Standard_EXPORT void SetStateBefore (const TopAbs_State State); 59 60 //! Returns the transition state before the intersection. 61 Standard_EXPORT TopAbs_State StateBefore() const; 62 63 //! Sets the transition state after the intersection. 64 Standard_EXPORT void SetStateAfter (const TopAbs_State State); 65 66 //! Returns the transition state after of the intersection. 67 Standard_EXPORT TopAbs_State StateAfter() const; 68 69 //! Sets the flag that the point is the beginning of a segment. 70 Standard_EXPORT void SetSegmentBeginning (const Standard_Boolean State = Standard_True); 71 72 //! Returns the flag that the point is the beginning of a segment. 73 Standard_EXPORT Standard_Boolean SegmentBeginning() const; 74 75 //! Sets the flag that the point is the end of a segment. 76 Standard_EXPORT void SetSegmentEnd (const Standard_Boolean State = Standard_True); 77 78 //! Returns the flag that the point is the end of a segment. 79 Standard_EXPORT Standard_Boolean SegmentEnd() const; 80 81 //! Dump of the point on element. 82 Standard_EXPORT virtual void Dump (const Standard_Integer Index = 0) const = 0; 83 84 protected: 85 86 //! Creates an empty intersection point. 87 Standard_EXPORT HatchGen_IntersectionPoint(); 88 89 //! Destructor is protected for safer inheritance ~HatchGen_IntersectionPoint()90 ~HatchGen_IntersectionPoint() {} 91 92 protected: 93 94 Standard_Integer myIndex; 95 Standard_Real myParam; 96 TopAbs_Orientation myPosit; 97 TopAbs_State myBefore; 98 TopAbs_State myAfter; 99 Standard_Boolean mySegBeg; 100 Standard_Boolean mySegEnd; 101 }; 102 103 #endif // _HatchGen_IntersectionPoint_HeaderFile 104