1 // File: BRepFill_SectionLaw.cxx
2 // Created: Wed Jan 7 13:40:00 1998
3 // Author: Philippe MANGIN
7 #include <BRepFill_SectionLaw.ixx>
9 #include <BRepTools_WireExplorer.hxx>
10 #include <BRep_Tool.hxx>
11 #include <BRepAdaptor_Curve.hxx>
12 #include <BRepLProp.hxx>
15 #include <TopoDS_Vertex.hxx>
17 #include <Geom_Curve.hxx>
18 #include <Geom_Line.hxx>
19 #include <Geom_TrimmedCurve.hxx>
20 #include <Geom_BSplineCurve.hxx>
21 #include <GeomFill_UniformSection.hxx>
23 #include <TColgp_HArray1OfPnt.hxx>
24 #include <TColStd_HArray1OfReal.hxx>
25 #include <TColStd_HArray1OfInteger.hxx>
28 #include <Precision.hxx>
31 //=======================================================================
33 //purpose : Donne le nombre de loi elementaire (ou Geometrique)
34 //=======================================================================
35 Standard_Integer BRepFill_SectionLaw::NbLaw() const
37 return myLaws->Length();
41 //=======================================================================
44 //=======================================================================
45 const Handle(GeomFill_SectionLaw)&
46 BRepFill_SectionLaw::Law(const Standard_Integer Index) const
48 return myLaws->Value(Index);
51 //=======================================================================
52 //function : IsUClosed
54 //=======================================================================
55 Standard_Boolean BRepFill_SectionLaw::IsUClosed() const
60 //=======================================================================
61 //function : IsVClosed
63 //=======================================================================
64 Standard_Boolean BRepFill_SectionLaw::IsVClosed() const
69 //=======================================================================
71 //purpose : Prepare le parcour d'un wire
72 //=======================================================================
73 void BRepFill_SectionLaw::Init(const TopoDS_Wire& W)
78 //=======================================================================
80 //purpose : Parcourt d'un wire en sautant les Edges degenere
81 //=======================================================================
82 TopoDS_Edge BRepFill_SectionLaw::CurrentEdge()
85 // Class BRep_Tool without fields and without Constructor :
87 Standard_Boolean Suivant = Standard_False;
88 if (myIterator.More()) {
89 E = myIterator.Current();
90 // Suivant = (B.Degenerated(E));
91 Suivant = (BRep_Tool::Degenerated(E));
96 E = myIterator.Current();
97 // Suivant = (B.Degenerated(E) && myIterator.More());
98 Suivant = (BRep_Tool::Degenerated(E) && myIterator.More());
101 if (myIterator.More()) myIterator.Next();