0030679: Attached model hangs most of OCCT common functionality
[occt.git] / src / BRepGProp / BRepGProp_Domain.lxx
1 // Created on: 2005-12-13
2 // Created by: Sergey KHROMOV
3 // Copyright (c) 1995-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 #include <TopoDS.hxx>
18 #include <TopoDS_Face.hxx>
19
20 //=======================================================================
21 //function : BRepGProp_Domain
22 //purpose  : Empty constructor.
23 //=======================================================================
24
25 inline BRepGProp_Domain::BRepGProp_Domain ()
26 {
27 }
28
29 //=======================================================================
30 //function : BRepGProp_Domain
31 //purpose  : Constructor. Initializes the domain with the face.
32 //=======================================================================
33
34 inline BRepGProp_Domain::BRepGProp_Domain (const TopoDS_Face& F) :
35        myExplorer(F.Oriented(TopAbs_FORWARD),TopAbs_EDGE)
36 {
37 }
38
39 //=======================================================================
40 //function : Init
41 //purpose  : Initializes the domain with the face.
42 //=======================================================================
43
44 inline void BRepGProp_Domain::Init(const TopoDS_Face& F)
45 {
46   myExplorer.Init(F.Oriented(TopAbs_FORWARD),TopAbs_EDGE);
47 }
48
49 //=======================================================================
50 //function : More
51 //purpose  : Returns True if there is another arc of curve in the list.
52 //=======================================================================
53
54 inline Standard_Boolean BRepGProp_Domain::More ()
55 {
56   return myExplorer.More();
57 }
58
59 //=======================================================================
60 //function : Init
61 //purpose  : Initializes the exploration with the face already set.
62 //=======================================================================
63
64 inline void BRepGProp_Domain::Init ()
65 {
66   myExplorer.ReInit();
67 }
68
69 //=======================================================================
70 //function : Value
71 //purpose  : Returns the current edge.
72 //=======================================================================
73
74 inline const TopoDS_Edge& BRepGProp_Domain::Value () 
75 {
76   return TopoDS::Edge(myExplorer.Current());
77 }