1 // Copyright (c) 2013-2014 OPEN CASCADE SAS
3 // This file is part of Open CASCADE Technology software library.
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.
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
14 #ifndef _StdPrs_WFRestrictedFace_H__
15 #define _StdPrs_WFRestrictedFace_H__
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>
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.
29 class StdPrs_WFRestrictedFace : public Prs3d_Root
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);
44 Standard_EXPORT static void Add
45 (const Handle (Prs3d_Presentation)& thePresentation,
46 const Handle(BRepAdaptor_HSurface)& theFace,
47 const Handle (Prs3d_Drawer)& theDrawer);
49 Standard_EXPORT static Standard_Boolean Match
50 (const Quantity_Length theX,
51 const Quantity_Length theY,
52 const Quantity_Length theZ,
53 const Quantity_Length theDistance,
54 const Handle(BRepAdaptor_HSurface)& theFace,
55 const Standard_Boolean theDrawUIso,
56 const Standard_Boolean theDrawVIso,
57 const Quantity_Length theDeflection,
58 const Standard_Integer theNbUIso,
59 const Standard_Integer theNbVIso,
60 const Handle(Prs3d_Drawer)& theDrawer);
62 Standard_EXPORT static Standard_Boolean Match
63 (const Quantity_Length theX,
64 const Quantity_Length theY,
65 const Quantity_Length theZ,
66 const Quantity_Length theDistance,
67 const Handle(BRepAdaptor_HSurface)& theFace,
68 const Handle (Prs3d_Drawer)& theDrawer);
70 Standard_EXPORT static Standard_Boolean MatchUIso
71 (const Quantity_Length theX,
72 const Quantity_Length theY,
73 const Quantity_Length theZ,
74 const Quantity_Length theDistance,
75 const Handle(BRepAdaptor_HSurface)& theFace,
76 const Handle (Prs3d_Drawer)& theDrawer);
78 Standard_EXPORT static Standard_Boolean MatchVIso
79 (const Quantity_Length theX,
80 const Quantity_Length theY,
81 const Quantity_Length theZ,
82 const Quantity_Length theDistance,
83 const Handle(BRepAdaptor_HSurface)& theFace,
84 const Handle (Prs3d_Drawer)& theDrawer);
86 Standard_EXPORT static void AddUIso
87 (const Handle (Prs3d_Presentation)& thePresentation,
88 const Handle(BRepAdaptor_HSurface)& theFace,
89 const Handle (Prs3d_Drawer)& theDrawer);
91 Standard_EXPORT static void AddVIso
92 (const Handle (Prs3d_Presentation)& thePresentation,
93 const Handle(BRepAdaptor_HSurface)& theFace,
94 const Handle (Prs3d_Drawer)& theDrawer);