8a1876ea73369766b8f8964e85047bf0781b4353
[occt.git] / src / BRepGProp / BRepGProp_Face.lxx
1 // Created on: 2005-12-20
2 // Created by: Sergey KHROMOV
3 // Copyright (c) 2005-2012 OPEN CASCADE SAS
4 //
5 // The content of this file is subject to the Open CASCADE Technology Public
6 // License Version 6.5 (the "License"). You may not use the content of this file
7 // except in compliance with the License. Please obtain a copy of the License
8 // at http://www.opencascade.org and read it completely before using this file.
9 //
10 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 //
13 // The Original Code and all software distributed under the License is
14 // distributed on an "AS IS" basis, without warranty of any kind, and the
15 // Initial Developer hereby disclaims all such warranties, including without
16 // limitation, any warranties of merchantability, fitness for a particular
17 // purpose or non-infringement. Please see the License for the specific terms
18 // and conditions governing the rights and limitations under the License.
19
20
21
22 #include <BRep_Tool.hxx>
23
24 //=======================================================================
25 //function : BRepGProp_Face
26 //purpose  : Constructor. Initializes the object with IsUseSpan.
27 //=======================================================================
28
29 inline BRepGProp_Face::BRepGProp_Face(const Standard_Boolean IsUseSpan)
30      : myIsUseSpan(IsUseSpan)
31 {
32 }
33
34 //=======================================================================
35 //function : BRepGProp_Face
36 //purpose  : Constructor.Initializes the object with the face and
37 //           IsUseSpan flan.
38 //=======================================================================
39
40 inline BRepGProp_Face::BRepGProp_Face(const TopoDS_Face      &F,
41                                       const Standard_Boolean  IsUseSpan)
42      : myIsUseSpan(IsUseSpan)
43 {
44   Load(F);
45 }
46
47 //=======================================================================
48 //function : NaturalRestriction
49 //purpose  : Returns Standard_True if the face is not trimmed.
50 //=======================================================================
51
52 inline Standard_Boolean BRepGProp_Face::NaturalRestriction() const
53 {
54   return BRep_Tool::NaturalRestriction(mySurface.Face());
55 }
56
57 //=======================================================================
58 //function : Value2d
59 //purpose  : Returns the value of the boundary curve of the face.
60 //=======================================================================
61
62 inline gp_Pnt2d BRepGProp_Face::Value2d(const Standard_Real U) const
63 {
64   return myCurve.Value(U);
65 }
66
67 //=======================================================================
68 //function : D12d
69 //purpose  : Returns the point of parameter U and the first derivative
70 //           at this point of a boundary curve.
71 //=======================================================================
72
73 inline void BRepGProp_Face::D12d(const Standard_Real  U,
74                                        gp_Pnt2d      &P,
75                                        gp_Vec2d      &V1) const
76 {
77   myCurve.D1(U,P,V1);
78 }
79
80 //=======================================================================
81 //function : FirstParameter
82 //purpose  : Returns the parametric value of the start point of
83 //           the current arc of curve.
84 //=======================================================================
85
86 inline Standard_Real BRepGProp_Face::FirstParameter() const
87 {
88   return myCurve.FirstParameter();
89 }
90
91 //=======================================================================
92 //function : LastParameter
93 //purpose  : Returns the parametric value of the end point of
94 //           the current arc of curve.
95 //=======================================================================
96
97 inline Standard_Real BRepGProp_Face::LastParameter() const
98 {
99   return myCurve.LastParameter();
100 }