1 // Created on: 1994-03-09
2 // Created by: Isabelle GRIGNON
3 // Copyright (c) 1994-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
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.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _ChFiDS_Stripe_HeaderFile
18 #define _ChFiDS_Stripe_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_Type.hxx>
23 #include <Standard_Real.hxx>
24 #include <ChFiDS_HData.hxx>
25 #include <Standard_Integer.hxx>
26 #include <TopAbs_Orientation.hxx>
27 #include <Standard_Transient.hxx>
28 #include <Standard_Boolean.hxx>
34 DEFINE_STANDARD_HANDLE(ChFiDS_Stripe, Standard_Transient)
36 //! Data characterising a band of fillet.
37 class ChFiDS_Stripe : public Standard_Transient
43 Standard_EXPORT ChFiDS_Stripe();
45 //! Reset everything except Spine.
46 Standard_EXPORT void Reset();
48 const Handle(ChFiDS_HData)& SetOfSurfData() const;
50 const Handle(ChFiDS_Spine)& Spine() const;
52 TopAbs_Orientation OrientationOnFace1() const;
54 TopAbs_Orientation OrientationOnFace2() const;
56 Standard_Integer Choix() const;
58 Handle(ChFiDS_HData)& ChangeSetOfSurfData();
60 Handle(ChFiDS_Spine)& ChangeSpine();
62 void OrientationOnFace1 (const TopAbs_Orientation Or1);
64 void OrientationOnFace2 (const TopAbs_Orientation Or2);
66 void Choix (const Standard_Integer C);
68 void FirstParameters (Standard_Real& Pdeb, Standard_Real& Pfin) const;
70 void LastParameters (Standard_Real& Pdeb, Standard_Real& Pfin) const;
72 void ChangeFirstParameters (const Standard_Real Pdeb, const Standard_Real Pfin);
74 void ChangeLastParameters (const Standard_Real Pdeb, const Standard_Real Pfin);
76 Standard_Integer FirstCurve() const;
78 Standard_Integer LastCurve() const;
80 void ChangeFirstCurve (const Standard_Integer Index);
82 void ChangeLastCurve (const Standard_Integer Index);
84 const Handle(Geom2d_Curve)& FirstPCurve() const;
86 const Handle(Geom2d_Curve)& LastPCurve() const;
88 Handle(Geom2d_Curve)& ChangeFirstPCurve();
90 Handle(Geom2d_Curve)& ChangeLastPCurve();
92 TopAbs_Orientation FirstPCurveOrientation() const;
94 TopAbs_Orientation LastPCurveOrientation() const;
96 void FirstPCurveOrientation (const TopAbs_Orientation O);
98 void LastPCurveOrientation (const TopAbs_Orientation O);
100 Standard_Integer IndexFirstPointOnS1() const;
102 Standard_Integer IndexFirstPointOnS2() const;
104 Standard_Integer IndexLastPointOnS1() const;
106 Standard_Integer IndexLastPointOnS2() const;
108 void ChangeIndexFirstPointOnS1 (const Standard_Integer Index);
110 void ChangeIndexFirstPointOnS2 (const Standard_Integer Index);
112 void ChangeIndexLastPointOnS1 (const Standard_Integer Index);
114 void ChangeIndexLastPointOnS2 (const Standard_Integer Index);
116 Standard_EXPORT void Parameters (const Standard_Boolean First, Standard_Real& Pdeb, Standard_Real& Pfin) const;
118 Standard_EXPORT void SetParameters (const Standard_Boolean First, const Standard_Real Pdeb, const Standard_Real Pfin);
120 Standard_EXPORT Standard_Integer Curve (const Standard_Boolean First) const;
122 Standard_EXPORT void SetCurve (const Standard_Integer Index, const Standard_Boolean First);
124 Standard_EXPORT const Handle(Geom2d_Curve)& PCurve (const Standard_Boolean First) const;
126 Standard_EXPORT Handle(Geom2d_Curve)& ChangePCurve (const Standard_Boolean First);
128 Standard_EXPORT TopAbs_Orientation Orientation (const Standard_Integer OnS) const;
130 Standard_EXPORT void SetOrientation (const TopAbs_Orientation Or, const Standard_Integer OnS);
132 Standard_EXPORT TopAbs_Orientation Orientation (const Standard_Boolean First) const;
134 Standard_EXPORT void SetOrientation (const TopAbs_Orientation Or, const Standard_Boolean First);
136 Standard_EXPORT Standard_Integer IndexPoint (const Standard_Boolean First, const Standard_Integer OnS) const;
138 Standard_EXPORT void SetIndexPoint (const Standard_Integer Index, const Standard_Boolean First, const Standard_Integer OnS);
140 Standard_EXPORT Standard_Integer SolidIndex() const;
142 Standard_EXPORT void SetSolidIndex (const Standard_Integer Index);
144 //! Set nb of SurfData's at end put in DS
145 Standard_EXPORT void InDS (const Standard_Boolean First, const Standard_Integer Nb = 1);
147 //! Returns nb of SurfData's at end being in DS
148 Standard_EXPORT Standard_Integer IsInDS (const Standard_Boolean First) const;
153 DEFINE_STANDARD_RTTIEXT(ChFiDS_Stripe,Standard_Transient)
163 Standard_Real pardeb1;
164 Standard_Real parfin1;
165 Standard_Real pardeb2;
166 Standard_Real parfin2;
167 Handle(ChFiDS_Spine) mySpine;
168 Handle(ChFiDS_HData) myHdata;
169 Handle(Geom2d_Curve) pcrv1;
170 Handle(Geom2d_Curve) pcrv2;
171 Standard_Integer myChoix;
172 Standard_Integer indexOfSolid;
173 Standard_Integer indexOfcurve1;
174 Standard_Integer indexOfcurve2;
175 Standard_Integer indexfirstPOnS1;
176 Standard_Integer indexlastPOnS1;
177 Standard_Integer indexfirstPOnS2;
178 Standard_Integer indexlastPOnS2;
179 Standard_Integer begfilled;
180 Standard_Integer endfilled;
181 TopAbs_Orientation myOr1;
182 TopAbs_Orientation myOr2;
183 TopAbs_Orientation orcurv1;
184 TopAbs_Orientation orcurv2;
190 #include <ChFiDS_Stripe.lxx>
196 #endif // _ChFiDS_Stripe_HeaderFile