0026377: Passing Handle objects as arguments to functions as non-const reference...
[occt.git] / src / StdPrs / StdPrs_WFRestrictedFace.hxx
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 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);
61
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);
69
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);
77
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);
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