1 // Copyright (c) 2013-2014 OPEN CASCADE SAS 2 // 3 // This file is part of Open CASCADE Technology software library. 4 // 5 // This library is free software; you can redistribute it and/or modify it under 6 // the terms of the GNU Lesser General Public License version 2.1 as published 7 // by the Free Software Foundation, with special exception defined in the file 8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 9 // distribution for complete text of the license and disclaimer of any warranty. 10 // 11 // Alternatively, this file may be used under the terms of Open CASCADE 12 // commercial license or contractual agreement. 13 14 #ifndef _StdPrs_WFRestrictedFace_H__ 15 #define _StdPrs_WFRestrictedFace_H__ 16 17 #include <BRepAdaptor_HSurface.hxx> 18 #include <Prs3d_Drawer.hxx> 19 #include <Prs3d_Presentation.hxx> 20 #include <Prs3d_Root.hxx> 21 #include <Prs3d_NListOfSequenceOfPnt.hxx> 22 23 // Computes the wireframe presentation of faces with 24 // restrictions by displaying a given number of U and/or 25 // V isoparametric curves. The isoparametric curves are 26 // drawn with a fixed number of points. 27 // The presentation includes the restriction curves. 28 29 class StdPrs_WFRestrictedFace : public Prs3d_Root 30 { 31 public: 32 DEFINE_STANDARD_ALLOC 33 34 Standard_EXPORT static void Add 35 (const Handle (Prs3d_Presentation)& thePresentation, 36 const Handle(BRepAdaptor_HSurface)& theFace, 37 const Standard_Boolean theDrawUIso, 38 const Standard_Boolean theDrawVIso, 39 const Standard_Integer theNbUIso, 40 const Standard_Integer theNbVIso, 41 const Handle(Prs3d_Drawer)& theDrawer, 42 Prs3d_NListOfSequenceOfPnt& theCurves); 43 44 Standard_EXPORT static void Add 45 (const Handle (Prs3d_Presentation)& thePresentation, 46 const Handle(BRepAdaptor_HSurface)& theFace, 47 const Handle (Prs3d_Drawer)& theDrawer); 48 49 Standard_EXPORT static Standard_Boolean Match 50 (const Standard_Real theX, 51 const Standard_Real theY, 52 const Standard_Real theZ, 53 const Standard_Real theDistance, 54 const Handle(BRepAdaptor_HSurface)& theFace, 55 const Standard_Boolean theDrawUIso, 56 const Standard_Boolean theDrawVIso, 57 const Standard_Real theDeflection, 58 const Standard_Integer theNbUIso, 59 const Standard_Integer theNbVIso, 60 const Handle(Prs3d_Drawer)& theDrawer); 61 62 Standard_EXPORT static Standard_Boolean Match 63 (const Standard_Real theX, 64 const Standard_Real theY, 65 const Standard_Real theZ, 66 const Standard_Real theDistance, 67 const Handle(BRepAdaptor_HSurface)& theFace, 68 const Handle (Prs3d_Drawer)& theDrawer); 69 70 Standard_EXPORT static Standard_Boolean MatchUIso 71 (const Standard_Real theX, 72 const Standard_Real theY, 73 const Standard_Real theZ, 74 const Standard_Real theDistance, 75 const Handle(BRepAdaptor_HSurface)& theFace, 76 const Handle (Prs3d_Drawer)& theDrawer); 77 78 Standard_EXPORT static Standard_Boolean MatchVIso 79 (const Standard_Real theX, 80 const Standard_Real theY, 81 const Standard_Real theZ, 82 const Standard_Real theDistance, 83 const Handle(BRepAdaptor_HSurface)& theFace, 84 const Handle (Prs3d_Drawer)& theDrawer); 85 86 Standard_EXPORT static void AddUIso 87 (const Handle (Prs3d_Presentation)& thePresentation, 88 const Handle(BRepAdaptor_HSurface)& theFace, 89 const Handle (Prs3d_Drawer)& theDrawer); 90 91 Standard_EXPORT static void AddVIso 92 (const Handle (Prs3d_Presentation)& thePresentation, 93 const Handle(BRepAdaptor_HSurface)& theFace, 94 const Handle (Prs3d_Drawer)& theDrawer); 95 96 }; 97 98 #endif 99