1 // Created on: 1994-08-31 2 // Created by: Jacques GOUSSARD 3 // Copyright (c) 1994-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 _Draft_EdgeInfo_HeaderFile 18 #define _Draft_EdgeInfo_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_DefineAlloc.hxx> 22 #include <Standard_Handle.hxx> 23 24 #include <Standard_Boolean.hxx> 25 #include <TopoDS_Face.hxx> 26 #include <gp_Pnt.hxx> 27 #include <Standard_Real.hxx> 28 class Geom_Curve; 29 class Geom2d_Curve; 30 class Standard_DomainError; 31 class TopoDS_Face; 32 class gp_Pnt; 33 34 35 36 class Draft_EdgeInfo 37 { 38 public: 39 40 DEFINE_STANDARD_ALLOC 41 42 43 Standard_EXPORT Draft_EdgeInfo(); 44 45 Standard_EXPORT Draft_EdgeInfo(const Standard_Boolean HasNewGeometry); 46 47 Standard_EXPORT void Add (const TopoDS_Face& F); 48 49 Standard_EXPORT void RootFace (const TopoDS_Face& F); 50 51 Standard_EXPORT void Tangent (const gp_Pnt& P); 52 53 Standard_EXPORT Standard_Boolean IsTangent (gp_Pnt& P) const; 54 55 Standard_EXPORT Standard_Boolean NewGeometry() const; 56 57 Standard_EXPORT void SetNewGeometry (const Standard_Boolean NewGeom); 58 59 Standard_EXPORT const Handle(Geom_Curve)& Geometry() const; 60 61 Standard_EXPORT const TopoDS_Face& FirstFace() const; 62 63 Standard_EXPORT const TopoDS_Face& SecondFace() const; 64 65 Standard_EXPORT const Handle(Geom2d_Curve)& FirstPC() const; 66 67 Standard_EXPORT const Handle(Geom2d_Curve)& SecondPC() const; 68 69 Standard_EXPORT Handle(Geom_Curve)& ChangeGeometry(); 70 71 Standard_EXPORT Handle(Geom2d_Curve)& ChangeFirstPC(); 72 73 Standard_EXPORT Handle(Geom2d_Curve)& ChangeSecondPC(); 74 75 Standard_EXPORT const TopoDS_Face& RootFace() const; 76 77 Standard_EXPORT void Tolerance (const Standard_Real tol); 78 79 Standard_EXPORT Standard_Real Tolerance() const; 80 81 82 83 84 protected: 85 86 87 88 89 90 private: 91 92 93 94 Standard_Boolean myNewGeom; 95 Handle(Geom_Curve) myGeom; 96 TopoDS_Face myFirstF; 97 TopoDS_Face mySeconF; 98 Handle(Geom2d_Curve) myFirstPC; 99 Handle(Geom2d_Curve) mySeconPC; 100 TopoDS_Face myRootFace; 101 Standard_Boolean myTgt; 102 gp_Pnt myPt; 103 Standard_Real myTol; 104 105 106 }; 107 108 109 110 111 112 113 114 #endif // _Draft_EdgeInfo_HeaderFile 115